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
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[오류]JsonMappingException : No suitable constructor found for type [simple type, class ]: can not instantiate from JSON object (0) | 2021.09.13 |
---|---|
Java 제네릭이 암시 적으로 다형성이 아닌 이유 (0) | 2021.09.08 |
Java에서 SoftReference와 WeakReference의 차이점 (0) | 2021.09.03 |
Java String을 byte []로 변환하는 방법 (0) | 2021.09.02 |
Java에서 equals 및 hashCode 메소드를 재정의 해야 하는 이유 (0) | 2021.09.01 |