• 변수 타입으로는 원시 타입(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)