const arr = [1, 2, 3];

// 배열의 시작 부분에서 첫 번째 요소를 제거합니다.
arr.shift();
console.log(arr); // 출력: [2, 3]
arr.shift()
const arr = [1, 2, 3];

// 배열의 시작 부분(첫 번째 값)에서 하나의 요소를 제거합니다.
const removedItem = arr.shift();
console.log(arr); // 출력: [2, 3]
console.log("반환 값 -", removedItem); // 출력: 출력: "반환 값 - 1"

// 배열이 비어있을 경우 1
const emptyArray_1 = [];
const emptyArray_1_removedItem = emptyArray_1.shift(); // // 제거할 첫 번째 요소 값이 없이 배열이 비어 있음

console.log("반환 값 -", emptyArray_1_removedItem); // 출력: "반환 값 -" undefined

// 배열이 비어있을 경우 2
const emptyArray_2 = [1];
const emptyArray_2_removedItem = emptyArray_2.shift();

console.log("반환 값 -", emptyArray_2_removedItem); // 출력: "반환 값 - 1"
const fruits = ["apple", "banana", "cherry"];
const removedFruit = fruits.shift();

console.log(removedFruit); // 출력: "apple"
const fruits = ["apple", "banana", "cherry"];
const removedFruit = fruits.shift();

console.log(fruits.length); // 출력: 2
const fruits = ["apple", "banana", "cherry"];

// 배열의 마지막 요소를 제거
delete fruits[0];

// 배열 출력
console.log(fruits); // 출력: [비어 있음, "cherry", "banana"]
console.log(fruits[0]); // 출력: undefined
const numbers = [3, -2, 8, -5, 7, -1, 6];
const positiveNumbers = [];

while ((number = numbers.shift()) !== undefined) {
    if (number > 0) {
        positiveNumbers[positiveNumbers.length] = number; // 양수만 추출하여 새 배열에 추가
    }
}

console.log(positiveNumbers); // 출력: [3, 8, 7, 6]

caniuse.com에서 더 자세한 정보를 확인해 보세요.