# INDEX
1. Values & Data type
2. Operators
3. Control flow
4. Scope & Hoisting
5. Object & Array
6. This
7. Prototype & Inheritance
8. Function
9. Callback function
10. Closuer
11. Class
12. Others
// ex)
const arr = ["zero", "one", "two", "three", "four", "five"];
console.log(arr); // ["zero", "one", "two", "three", "four", "five"]
const assign = arr; // assign이라는 변수에 값으로 arr이라는 배열(reference값)을 할당해줌
// 예를들면, 위의 arr에서 "별표 모양의 키"만 arr의 방에 들어갈 수 있었는데, assign에게도 "별표 모양의 키"를 주면서 같은 방에 들어갈 수 있는 키를 복사해 준 것
assign[5] = "changed st"; // "별표 모양의 키"로 맞는 방을 따고 들어가 본래 arr[5]의 요소를 변경 ("five" -> "changed st")
console.log(assign); // ["zero", "one", "two", "three", "four", "changed st"]
// 따라서, 위와 같이 요소값이 변경됨
consloe.log(arr); // ["zero", "one", "two", "three", "four", "changed st"]
// 역시, 마찬가지로 같은 이유로 변경됨
console.log(arr[5]); // ["changed st"]
<immutable
>
: 어떤 배열의 begin부터 end까지(end 미포함)의 복사본을 새로운 배열 객체로 반환
// ex)
let arr = ["apple", "banana", "kiwi", "grape"];
arr.slice(-1); // ["grape"]
arr.slice(1, -2) // ["banana"]
arr.slice(2, 2); // []
arr.slice(3, 0); // []
arr.slice(3, 100); // ["grape"]
arr.slice(5, 1); // []
arr.slice(0); // ["apple", "banana", "kiwi", "grape"]
// 배열 전체를 복사 (자주 사용됨!)
obj.length = undefined
...