shift, unshift, pop, push는 원본을 건드린다 <-> 그래서 slice(0)을 써서 값을 복사해서 쓰는거임
클로저; 외부함수의 변수에 접근할 수 있는 내부함수로 상위스포크 변수를 재사용하기 위해 활용한다
선언을 하면 호이스팅이 되게 된다
파라미터를 전달하면 우선적으로 지역변수가 생기게 된다.
Object.keys를 사용하면 키들이 [배열] 의 형태로 나오게 된다
Object를 함수의 전달인자로 전달할 경우, reference가 전달됩니다
...문법을 쓰면 값만 복사되는데 객체안 객체가 있다면 그것은 참조값이 복사됨 그래서 얕은복사임 (깊은 복사가 되려면 객체안 객체까지 복사되어야함)
Object.assign({},obj)를 하면 객체 둘을 합치는 건데 새로운 객체에 값만 복사하고 싶을때 이렇게 사용함
Rest문법은 파라미터로 배열형태 받을때 사용
const student = {name: "박해커", age:28}
const {name} = student
//객체에서 값조회할때 이렇게 변수 찾는다