본문 바로가기
Programing/Javascript

JavaScript Array.of()란 무엇인가?

by 멍멍돌이야 2022. 7. 6.
반응형

1. Array.of() 메서드 소개

ES5에서 배열 생성자에 숫자를 전달하면 JavaScript는 길이가 숫자와 동일한 배열을 생성합니다. 

예를 들면 다음과 같습니다.

let numbers = new Array(2);
console.log(numbers.length); // 2
console.log(numbers[0]); // undefined

그러나 Array 생성자에 숫자가 아닌 값을 전달하면 JavaScript는 해당 값을 가진 하나의 요소를 포함하는 배열을 만듭니다. 

예를 들면 다음과 같습니다.

numbers = new Array("2");
console.log(numbers.length); // 1
console.log(numbers[0]); // "2"

이 동작은 Array 생성자에 전달하는 데이터 유형을 모를 수 있기 때문에 때때로 혼란스럽고 오류가 발생하기 쉽습니다.

 

ES6에서는 이 문제를 해결하기 위해 Array.of() 메서드를 도입했습니다.

 

Array.of() 메서드는 Array.of() 메서드가 단일 숫자 값을 특수하게 처리하지 않는다는 점을 제외하고는 Array 생성자와 유사합니다.

 

즉, Array.of() 메서드는 유형이나 인수 수에 관계없이 전달하는 값이 포함된 배열을 항상 생성합니다.

 

다음은 Array.of() 메서드의 구문을 보여줍니다.

Array.of(element0[, element1[, ...[, elementN]]])

 

2. Array.of() 예제

다음 예를 참조하십시오.

let numbers = Array.of(3);
console.log(numbers.length); // 1
console.log(numbers[0]); // 3

이 예제에서는 숫자 3을 Array.of() 메서드에 전달했습니다. Array.of() 메서드는 하나의 숫자 배열을 만듭니다.

 

다음 예를 고려하십시오.

let chars = Array.of('A', 'B', 'C');
console.log(chars.length); // 3
console.log(chars); // ['A','B','C']

이 예제에서는 'A', 'B' 및 'C'를 Array.of() 메서드에 전달하여 세 개의 문자열 배열을 만들었습니다. 배열의 크기는 3입니다.

 

3. Array.of() polyfill

Array.of() 메서드를 지원하지 않는 환경에서 자바스크립트를 실행할 경우 다음과 같은 폴리필을 사용할 수 있습니다.

if (!Array.of) {
    Array.of = function() {
        return Array.prototype.slice.call(arguments);
    };
}

이 튜토리얼에서는 ES6에서 JavaScript Array.of() 메서드를 사용하여 배열 구성을 개선하는 방법을 배웠습니다.

 

 

 

 

Refereance: https://www.javascripttutorial.net/es6/javascript-array-of/
728x90
반응형

댓글