변수 타입으로는 원시 타입(Primitive type)
과 참조 타입(Reference type)
이 존재한다.
배열, 객체, 클래스 는 Reference type 이다.
함수로 배열이나 객체를 반환하면 새로운 배열과 객체를 참조한다.
function newObj() {
const obj = {
name: 'hee',
age: 20,
}
return obj;
}
const obj = newObj(); // const obj = {name: 'hee', age: 20}
// const obj는 함수 내의 obj와 다른 새로운 참조 객체
// ----------------------
function solution(arr) {
arr.push(4);
arr = [5, 6, 7];
arr.push(8);
}
const newArr = [1, 2, 3];
solution(newArr)
// 함수 내의 arr 객체는 const newArr를 참조하는 객체 (새로운 객체 X)