목차
- 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}
참조가 복사 된 이후 원본도 변경되었음.
참고 자료
'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 |