1. Value
1 2 3 4 | let a = 10; let b = a; a = 20; console.log(b); | cs |
a는 10이고 a의 값을 b에 주입하여 10이 되었다.
(a값을 복사해서 b에 붙여넣음)
그래서 아래 a의 값을 20으로 변경해도 b는 값의 영향을 벗어난다.
이것을 value라고 한다.
value는 string number, boolean, NaN, undefined, null 가능하다.
2. Reference
1 2 3 4 | const a = ["apple","banana"] const b = a; a.push("carrot"); console.log(b); | cs |
b에는 ["apple", "banana", "carrot"] 가 들어있다.
레퍼런싱하는 것이다. 배열을 참조 하고 있는 것이다.
a와 b가 가르키는 배열은 메모리 어딘가에 위치해있고 동일한 배열을 바라보고 참조하는 것이다.
1 2 3 4 | const a = { x: 'hi'} b = a; b.x = 'hello'; console.log(a); | cs |
마찬가지로 map 형식의 데이터도 레퍼런스 참조를 하는 것을 확인할 수 있다.
reference는 arrray, object, function 에서 사용될수 있다.
'전체 > JS & Jquery' 카테고리의 다른 글
JS ==, === 의 비교 (0) | 2019.04.08 |
---|---|
JS Implicit Coercion(형변환) (0) | 2019.04.08 |
js primitive type (0) | 2019.03.10 |
자바스크립트 콜스택(call stack) (0) | 2019.03.09 |
버튼 클릭하여 json 형태 데이터 ajax 보내는 스크립트 (0) | 2018.10.31 |