자바스크립트에서 값을 복사할 때, 자료형에 따라 복사하는 값이 달라집니다.
실제값을 복사 하는 것을 깊은 복사, 객체의 메모리 주소값을 복사하는 것을 얕은 복사라고 합니다.
경우에 따라 참조형의 깊은 복사가 필요할 때가 있는데요. 깊은 복사가 된 참조형은 객체 안에 객체가 있을 경우에도 원본과의 참조가 완전히 끊어지게 됩니다.
함수를 기준으로만 적용되는 스코프를 함수 스코프, 코드 블록({} 중괄호로 감싸진 부분)을 기준으로 적용되는 스코프를 블록 스코프라고 합니다.
⛔️ 주의
코드 블록이 function 안에 있다면, var는 함수 레벨 변수가 됩니다.