-> object
자료형이 무엇인지 알려준다.
-> 자바처럼 만들어진 것을 쓰지 않고, 바로 배열을 쓰면 된다.
✔ stack -> push, pop
✔ queue -> push, shift
-> number, string, object
-> -1, 0, false, undefined, null, NaN(Not a Number), ""(empty string)
undefined : 값 미지정
null : 임의로 없는 값 지정
ex) 5 + '5' = '55', +'5' + 5 = 10 (-> 앞의 5는 숫자로 인식함)
ex) 2 ** 3 = 2^3 = 8
얕은 복사(shallow copy) : 해당되는 주소만 복사하는 것. 복사본이 변경되면 원본도 같이 변경된다. 같은 주소 공유.
깊은 복사(deep copy) : 주소는 새로운 주소를 사용하고 원본 주소 안의 내용 자체를 복사하는 것. 주소가 달라서 복사본이 변경되어도 원본은 변경되지 않는다. 코드로 복사하거나 Lodash를 사용한다.
const copycat = {...dictionary} // 얕은 복사
const mixtures = [...a, ...b]; // a와 b의 값을 순서대로 가져와서 복사한다.
문자열을 [...a] 로 사용하면 한 문자씩 잘라서 배열에 넣어진다.