본문 바로가기

Dev-/java script, jQuery, Ajax

자바스크립트 배열 리터럴의 요소, 프로퍼티의 차이점

let arr = ['a', 'b', 'c'];

arr.name = 'joon';
arr.school = 'banchon';


/**
* arr.length는??? : 3
*
* 배열도 __proto__로 Object를 가지기 때문에
* 프로퍼티도 가질 수 있다.
* but 프로퍼티 != 배열의 요소
*/


모든 '요소 출력'

for (let i = 0; i < arr.length; i++) {
console.log('arr[' + i + '] = ' + arr[i]);
}
arr[0] = a
main.js:20
arr[1] = b
main.js:20
arr[2] = c



모든 '프로퍼티' 출력

for (let property in arr) {
console.log('property:' + property + ', ' + 'arr[' + property + '] = ' + arr[property]);
}
25
property:0, arr[0] = a
main.js:25
property:1, arr[1] = b
main.js:25
property:2, arr[2] = c
main.js:25
property:name, arr[name] = joon
main.js:25
property:school, arr[school] = banchon