21. array.prototype.join()

join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.

{
    const elements = ['Fire', 'Air', 'Water'];

    console.log(elements.join());            // join() = " ,   , "
    // Expected output: "Fire,Air,Water"

    console.log(elements.join(''));          // join(' ') = "   "
    // Expected output: "FireAirWater"

    console.log(elements.join('-'));        // join('-') = "  -   -  "
    // Expected output: "Fire-Air-Water"
}

모든 배열 요소가 문자열로 변환된 다음 하나의 문자열로 연결됩니다.
경고: 요소가 undefined 또는 null이면 빈 문자열로 변환합니다.

22. array.prototype.pop()

pop() 메서드는 배열에서 마지막 요소를 제거하고 그 요소를 반환합니다.

{
    const plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];

    console.log(plants.pop());
    // Expected output: "tomato"         // 배열에서 마지막 요소인 'tomato' 제거

    console.log(plants);
    // Expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]

    plants.pop();                        // 배열에서 마지막 요소인 'kale' 제거

    console.log(plants);
    // Expected output: Array ["broccoli", "cauliflower", "cabbage"]

}

pop은 일부러 일반(generic)입니다; 이 메서드는 배열을 닮은 객체에 호출 또는 적용될 수 있습니다. 0부터 시작하는 일련의 연속되는 숫자 속성 내 마지막을 반영하는 length 속성을 포함하지 않는 객체는 어떤 의미 있는 방식으로도 행동하지 않을 수 있습니다.
빈 배열에 pop()을 호출하면, undefined를 반환합니다.

23. array.prototype.push()

push() 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환합니다.

{
    const animals = ['pigs', 'goats', 'sheep'];

    const count = animals.push('cows');         //// animals 에 cows 추가
    console.log(count);
    // Expected output: 4                      //// animals 4마리
    console.log(animals);
    // Expected output: Array ["pigs", "goats", "sheep", "cows"]    //// animals 에 cows 배열 끝에 추가

    animals.push('chickens', 'cats', 'dogs');                       //// animals 에 chickens, cats, dogs 추가
    console.log(animals);
    // Expected output: Array ["pigs", "goats", "sheep", "cows", "chickens", "cats", "dogs"]    //// animals 에 chickens, cats, dogs 배열 끝에 추가

}

push 메서드는 배열 끝에 여러 값을 추가합니다.