JavaScript에서는 6개의 자료형(number, string, boolean, undefined, null, symbol)을 원시 자료형으로 구분한다.
// 원시 자료형(primitive type): number, string, boolean, undefined, null
42, 'string', true, undefined, null
원시자료형이 아닌 모든 자료형은 참조 자료형이다. 배열, 객체가 대표적인 참조 자료형이며, 함수도 참조 자료형으로 분류한다.
// 참조 자료형(reference type)
[0, 1, 2] // 배열
{name: 'kimcoding', age: 45} // 객체
function sum (x, y) { return x + y } // 함수
원시 자료형과 참조 자료형의 특징
⭐️ 알게된점 ⭐️
배열을 복사하더라도 원본 배열과 같은 요소를 갖지만 참조하고 있는 주소는 다르다.
그래서 복사한 배열에 요소를 추가하더라도 원본 배열에는 추가 되지 않는다.
ex)
copiedArr.push(4);
console.log(copiedArr); // [0, 1, 2, 3, 4]
console.log(arr); // [0, 1, 2, 3]
배열복사는 slice()와 변수명 앞에 ...을 붙여주면 된다.
객체복사는 Object.assign() 과 변수명 앞에 ...을 붙여주면 된다.
ex)
let copiedObj = Object.assign({}, obj);
'코드스테이츠' 카테고리의 다른 글
[JavaScript] - 프로토타입 체인 (0) | 2023.03.16 |
---|---|
[JavaScript Koans] (0) | 2023.03.06 |
[2주차] 💻🏃♂️ - Linux/Git 기초 (짝수생성기) (0) | 2023.02.24 |
[2주차] 💻🏃♂️ - 계산기 구현하기 (0) | 2023.02.23 |
[2주차] 💻🏃♂️ - 반복문 코플렛 풀이 (0) | 2023.02.22 |