작성
·
165
0
const obj = {
name: 'james',
age: 20
}
function f1(...arg){
console.log(arg); // [ { name: 'james', age: 20 } ]
console.log(arg[0]); // { name: 'james', age: 20 }
}
f1(obj)
그런데 enum 타입으로 정의된 변수 Fruit 은 어떻게 해서 "인덱스" 로 접근이 가능하게 되는 것인가요?
말씀하신 코드를 (Fruit[5] ) 출력해보지 않고 보기만 하면 Fruit 은 배열인것인거고, 5번째 요소가 존재하는걸로 이해하게 되어서
Fruit 는 배열인것이고, Fruit 라는 배열안에 요소가 5개가 들어가있는 것으로 이해가 되서요....
현재 enum 타입으로 정의된 Fruit 내부의 요소는 총 3개인데... 제가 잘못 이해하고 있는 걸까요?
답변 1
0
안녕하세요
제가 '인덱스'라고 말하면서 헷갈리게 해드렸네요
Fruit 은 배열이 아니고 객체입니다
Fruit 객체는 아래 6개의 속성을 갖게 됩니다
'Apple', 'Banana', 'Orange', '0', '5', '6'
컴파일된 코드를 보면 Fruit 은 아래처럼 초기화되고 있습니다
var Fruit = {};
Fruit['Apple'] = 0;
Fruit['Banana'] = 5;
Fruit['Orange'] = 6;
Fruit[0] = 'Apple';
Fruit[5] = 'Banana';
Fruit[6] = 'Orange';