immutable
mutable 차이 확인하기!!!
1. for...of
이 명령문은 반복가능한 객체(Array, Map, ,Set, String, TypedArray, arguments 객체 등을 포함)에 대해서 반복하고 각 개별 속성값에 대해 실행되는 문이 있는 사용자 정의 반복 후크를 호출하는 루프를 생성합니다.
문법 : for (variable of iterable) {...}
Map : 객체로 요소의 삽입 순서대로 원소를 순회한다. for...of반복문으로 [key,value]값을 순회하여 이루어진 배열을 반환한다.
배열에 대한 반복
let iterable = [10, 20, 30];
for (let value of iterable) {
console.log(value);
}
// 10
// 20
// 30
-let대신 const를 사용할 수도 있다.(블록 내부 변수를 수정하지 않는 경우)
String에 대한 반복
let iterable = "boo";
for (let value of iterable) {
console.log(value);
}
// "b"
// "o"
// "o"
2. for...in
- 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복한다.
- 문법 : for (variable in object) { ... }
- 배열말고도 문자열도 순회할 수 있다.
const object = { a: 1, b: 2, c: 3 };
for (const property in object) {
console.log(property);
console.log(`${property}: ${object[property]}`);
}
//output
>// "a"
>// "a: 1"
>// "b"
>// "b: 2"
>// "c"
> //"c: 3"
3. concat()
- 이 메소드는 인자로 주어진 배열이나 값(String포함)들을 기존 배열에 합쳐서 새 배열을 반환한다.
- 기존 배열을 변경하지 않는다.
- 추가된 새로운 배열을 반환한다.
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3);
// expected output: Array ["a", "b", "c", "d", "e", "f"]
4. join()
- join() 메소드는 배열의 모든 요소를 연결해 하나의 문자열로 만든다.
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join()); // "Fire,Air,Water"
console.log(elements.join(' ')); // "Fire Air Water"
console.log(elements.join('-')); // "Fire-Air-Water"