freddy
느낌으로 남지않기
freddy
전체 방문자
오늘
어제
  • 분류 전체보기 (28)
    • HTML (2)
    • CSS (1)
    • JavaScript (8)
    • WebGL (0)
    • 개념정리 (0)
    • React (2)
    • ReactNative (4)
    • ERROR.LOG (3)
    • 설치 (2)
    • 챌린지 (0)
    • 책 (0)
    • 세미나 (2)
    • 일기장 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • React-Native
  • BOM 이란?
  • Optional chainning
  • Spread syntax
  • javascript 이벤트 위임
  • JavaScript
  • evnet 위임
  • 최신JS문법
  • react 기초
  • javascript 최신문법
  • javascript30
  • JS
  • es11
  • bitnami ubuntu
  • javscript 기초
  • 리액트의 필요성
  • react
  • Destructuring assignment
  • Nullish coalescing operator
  • Shorthand property names
  • 브라우저 동작 원리
  • 프론트엔드
  • Github Actions
  • css variables
  • react 사용하는 이유
  • React Native
  • 앱이 계속 중지됨
  • em과rem차이
  • 값식문
  • react 특징

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
freddy

느낌으로 남지않기

JavaScript

JavaScript 값, 식, 문,Primitive Type & Reference Type

2020. 12. 22. 09:05
반응형

목차

  • Variable
  • Expression
  • Statement
  • Primitive Type & Reference Type
  • 참고자료

Variable : 변수

식의 결과를 잡아두거나 이용하거나 꺼내쓰길 바랄 때 사용하는 것이 변수다

식은 값으로 귀결되고 변수는 값을 넣을 수 있다.

중요 용어: assignment : 할당
assignment 특징: 자바스크립트에서 할당은 우항의 값으로 귀결된다.

Quiz : Variable에 Statement를 assignment 할 수 있을까 ?

answer : No! 이유는 Statement(문) 이란건 컴파일러가 '힌트' 를 받아서 해석한 다음에 사라지기 때문에 변수에 넣을 수 없다. 변수에 들어갈 수 있는 것은 오직 'Expression(식)' 만 가능하다.


Expression : 식

  • value expression(값식)
  • operator/operation expression(연산식)
  • call expression(호출식)

'값' 또는 '연산자' 가 포함되어 있는것을 식으로 본다.

식은 하나의 값으로 귀결 된다

값 = 식;

1 + 1 은 식이지만 2라는 하나의 값으로
귀결된다.

함수를 호출하는 것도 식이 된다 왜 ? 함수를 호출한 결과는 값에 수렴하기 때문에


Statement : 문

Statement(문) 은 자바스크립트 번역기에게 주는 '힌트' 를 말한다. 번역기가 Statement(문) 를 보고 어떤 동작을 해야하는지 알게되고 Statement(문) 은 '힌트'이기 때문에 해석될 때 힌트만 알려주고 사라집니다.

즉 ! Statement(문) 의 결과로는 아무것도 남지 않습니다.

Statement(문) 종류

  • empty statement : 공문(빈문).

     i = 0;;;;;; 이렇게 적어도 에러가 나지않는다 왜? 비어있는문으로 인정하기 때문에
  • block statement : 중문({})
    여러개의 단문을 하나의 문처럼 사용 하고 싶을때 {} 으로 감싼다

  • flow control statement : 흐름제어문

  • expression statement : 식문

  • (variable) declare statement : (변수)선언문


Primitive Type

Primitive values 는 stack에 저장된 데이터 이다.

Primitive value 는 변수가 액세스하는 위치에 직접 저장된다.

  • null
  • undefined
  • Boolean
  • Number
  • String
  • Symbol (ECMAScript2015에서 추가 됨)

Code Example

var a = 13      // assign '13' to 'a'
var b = a       // copy the value of 'a' to 'b'
b = a           // assign '37' to 'b'
console.log(a)  // 13

원본은 변경되지 않았으며 사본만 변경이 됨

Reference Type

Reference values 는 Heap에 저장된 객체이다.

Reference value 는 변수 위치에 저장된 참조 값은 객체가 저장된 메모리의 위치에 대한 포인터 이다.

  • Array
  • Object
  • Function

Code Example

var a = {c :  13 }   // 새로운 객체의 참조를`a`에 할당
var b = a            // `a` 안의 객체의 참조를 새로운 변수`b` 에 복사
b.c  =  37           // `b` 객체의 내용을 수정합니다
console.log(a)       // => {c : 37}

참조가 복사 된 이후 원본도 변경되었음.

참고 자료

Github

MDN

stackoverflow

javascript tutorial


반응형

'JavaScript' 카테고리의 다른 글

꼭! 알아야하는 JavaScript 최신문법 (ES6, ES11) 사용법 정리 (1)  (0) 2020.12.22
JavaScript 30 Drum Kit 정리  (0) 2020.12.22
CSS Variables  (0) 2020.12.22
CSS + JS Clock 정리  (0) 2020.12.22
Array의 여러가지(filter, map, reduce, sort, ...) 메소드를 활용해보자.  (0) 2020.12.21
    'JavaScript' 카테고리의 다른 글
    • JavaScript 30 Drum Kit 정리
    • CSS Variables
    • CSS + JS Clock 정리
    • Array의 여러가지(filter, map, reduce, sort, ...) 메소드를 활용해보자.
    freddy
    freddy

    티스토리툴바