원시 타입과 참조 타입
자바스크립트에서 참조 타입은 객체(object), 배열(array), 함수(function) 이고
원시 타입은 숫자(number), 문자(string), 논리형(boolean), null, undefined 이다.
원시 타입은 변수에 해당하는 값이 그대로 저장된다.
let a = 'a'
let b = a
console.log (b) // 'a'
console.log (a) // 'a'
console.log (a === b) // true
let a = 'a'
let b = a
b = 'b'
console.log (b) // 'b'
console.log (a) // 'a'
console.log (a === b) // false
원시 타입은 값 자체를 그대로 저장하기 때문에 b
를 a
라고 선언하고 b
의 값을 변경하면 a
는 변경되지 않고 b
의 값만 변경된다.
참조 타입은 객체 값 자체를 저장하지 않고 해당 객체가 가지고 있는 참조 값을 저장한다.
let a = {a:'a'}
let b = a
console.log (b.a) // 'a'
console.log (a.a) // 'a'
console.log (a.a === b.a) //true
let a = {a:'a'}
let b = a
b.a = 'b'
console.log (b.a) // 'b'
console.log (a.a) // 'b'
console.log (a.a === b.a) //true
값 자체를 저장하는 것이 아니라 참조(객체를 가르키는 참조값 혹은 메모리 주소) 값을 저장하고 있기 때문에 b
를 a
라고 선언한 후 b.a
값을 변경하면 a.a
의 값도 함께 변경되는 것을 확인할 수 있다.
Author And Source
이 문제에 관하여(원시 타입과 참조 타입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ki226/원시-타입과-참조-타입저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)