15. array.prototype.every()

Array.prototype.every()는 JavaScript 배열 객체의 메서드 중 하나로, 배열 내의 모든 요소가 주어진 조건을 만족하는지 확인하는 역할을 합니다. 이 메서드는 콜백 함수를 사용하여 배열의 모든 요소에 대해 조건을 검사하고, 모든 요소가 조건을 만족하면 true를 반환하고, 하나라도 조건을 만족하지 않으면 false를 반환합니다.

 {
    const isBelowThreshold = (currentValue) => currentValue < 40;

    const array1 = [1, 30, 39, 29, 10, 13];
    
    console.log(array1.every(isBelowThreshold));
    Expected output: true
}

callback: 각 배열 요소에 대해 실행할 함수로, 이 함수는 요소의 값, 요소의 인덱스, 배열 자체를 매개변수로 받습니다. 이 함수는 true 또는 false를 반환하여 조건을 표현합니다.
thisArg (선택 사항): 콜백 함수 내에서 this로 참조할 객체를 지정할 수 있습니다.

const isBelowThreshold = (currentValue) => currentValue < 40 : isBelowThreshold라는 화살표 함수를 정의합니다. 이 함수는 입력된 currentValue 매개변수가 40 미만인지 확인합니다. 즉, 주어진 값이 40보다 작으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
const array1 = [1, 30, 39, 29, 10, 13] : 숫자로 구성된 배열 array1을 선언하고 초기화합니다.
console.log(array1.every(isBelowThreshold)) : 배열 array1의 모든 요소가 isBelowThreshold 함수의 조건을 만족하는지 확인하는 every() 메서드를 호출합니다. 이 메서드는 배열의 모든 요소가 주어진 조건을 만족하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이 결과를 console.log()를 사용하여 콘솔에 출력합니다.
Expected output: true : array1의 모든 요소는 40보다 작기 때문에 isBelowThreshold 함수의 조건을 만족하며, 따라서 every() 메서드는 true를 반환합니다.

결과 확인하기
true

21. array.prototype.join()

배열의 메서드 중 하나로, 배열의 모든 요소를 하나의 문자열로 결합합니다. 이 메서드는 배열 요소 사이에 지정한 구분자(separator)를 삽입하여 하나의 새로운 문자열로 만들어 반환합니다.

 {
    const fruits = ["apple", "banana", "cherry"];
    const result = fruits.join(", "); // 배열 요소를 쉼표와 공백으로 구분하여 결합
    console.log(result); // "apple, banana, cherry"
}

구분자 : 요소나 데이터 사이를 구별하기 위해 사용되는 문자나 문자열입니다. 주로 배열 요소를 결합하거나 데이터를 분리하는 데 사용됩니다.
위의 예시에서의 구분자는 ", "로, 배열 요소 사이에 쉼표와 공백이 들어갑니다.

28. array.prototype.pop()

JavaScript 배열에서 사용할 수 있는 내장 메서드 중 하나로, 배열에서 마지막 요소를 제거하고 그 값을 반환합니다. 이 메서드는 배열을 수정하므로 배열의 길이를 줄이고 마지막 요소를 반환하는 데 사용됩니다. 이것은 메서드를 호출한 배열을 변경하는 "파괴적(mutating)" 메서드 중 하나입니다.

 {
    const fruits = ["apple", "banana", "cherry"];
    const lastFruit = fruits.pop();
    
    console.log(lastFruit); // "cherry" (마지막 요소를 반환)
    console.log(fruits);    // ["apple", "banana"] (마지막 요소가 제거된 배열)
}

파괴적(mutating) 메서드 : 호출한 데이터 구조를 직접 변경하거나 수정하는 메서드를 말합니다.
배열(Array)의 파괴적 메서드: push()(배열 끝에 요소 추가), pop()(배열 마지막 요소 제거), shift()(배열 첫 번째 요소 제거) 등
문자열(String)의 파괴적 메서드: 문자열(String)은 변경 불가능(immutable)한 데이터 타입이며, 따라서 문자열의 메서드는 원본 문자열을 변경하지 않고 항상 새로운 문자열을 반환합니다.

29. array.prototype.push()

배열에 새로운 요소(또는 여러 요소)를 배열의 끝에 추가하는 메서드입니다. 이 메서드를 사용하면 배열의 길이가 자동으로 증가하고, 새로운 요소가 배열의 마지막에 추가됩니다.

 {
    const fruits = ["apple", "banana"];
    fruits.push("cherry");
    
    console.log(fruits); // ["apple", "banana", "cherry"]
}

push() 또한 파괴적 메서드 중 하나이기때문에, 수정에 주의하여야 합니다.