프로그래밍 언어/JAVA

자바 스크립트 배열을 선언 할 때 "Array ()"와 "[]"의 차이점

Rateye 2021. 9. 7. 10:41
728x90
반응형
질문 : 자바 스크립트 배열을 선언 할 때 "Array ()"와 "[]"의 차이점은 무엇입니까?

다음과 같은 배열 선언의 실제 차이점은 무엇입니까?

var myArray = new Array();

var myArray = [];
답변

차이가 있지만 그 예에는 차이가 없습니다.

보다 자세한 방법 사용 : new Array() 는 매개 변수에 하나의 추가 옵션이 있습니다. 생성자에 숫자를 전달하면 해당 길이의 배열을 얻게됩니다.

x = new Array(5);
alert(x.length); // 5

배열을 만드는 다양한 방법을 설명하려면 :

var a = [],            // these are the same
    b = new Array(),   // a and b are arrays with length 0

    c = ['foo', 'bar'],           // these are the same
    d = new Array('foo', 'bar'),  // c and d are arrays with 2 strings

    // these are different:
    e = [3]             // e.length == 1, e[0] == 3
    f = new Array(3),   // f.length == 3, f[0] == undefined

;

또 다른 차이점은 new Array() 를 사용할 때 스택 크기에 영향을 미치는 배열의 크기를 설정할 수 있다는 것입니다. 이는 스택 오버플로 (Array.push 대 Array.unshift의 성능) 가 발생하는 경우 유용 할 수 있습니다. 이는 어레이의 크기가 스택의 크기를 초과하고 다시 만들어야 할 때 발생합니다. 따라서 실제로 사용 사례에 따라 new Array() 사용할 때 성능이 향상 될 수 있습니다. 오버플로 발생을 방지 할 수 있기 때문입니다.

이 답변 에서 지적했듯이 new Array(5) undefined 5 개의 항목을 배열에 추가하지 않습니다. 5 개 항목을위한 공간 만 추가합니다. Array 를 사용하면 계산을 위해 array.length 에 의존하기가 어렵습니다.

출처 : https://stackoverflow.com/questions/931872/what-s-the-difference-between-array-and-while-declaring-a-javascript-ar
728x90
반응형