728x90
반응형
const obj = { 1:사과, 2:배, 3:바나나 }
number = 1;
//오류
obj.number; //undefiend
//원인
//obj.1로 접근한 것과 같기 때문, 1을 숫자로 인식
//해결
obj[number.toString()]; // 문자로 바꿔줌 // 사과
//비슷한 예
find-number = 1;
obj.find-number; //오류 -를 minus로 인식
//해결
obj[find-number]; //사과
javascript에서 object에 접근할 때 obj.1 처럼 숫자로 접근할 수 없습니다.
따라서 obj.number로 접근시 number = 1이라면 undefined로 오류가 납니다.
비슷하게 obj.find-number의 형식도 오류가 납니다. -를 minus로 인식하기 때문입니다.
해결 방법은 obj[number.toString()], obj[find-number]를 사용하는 것입니다.
728x90
반응형
'javascript' 카테고리의 다른 글
[javascript] prototype과 [[prototype]]의 차이, implicit prototype link (0) | 2021.12.16 |
---|---|
[javascript] javascript에서 private 사용하기, javascript 공개, 비공개 메소드 만들기 (0) | 2021.11.10 |
JavaScript Closures MDN 예제 해석 (0) | 2021.09.10 |
JavaScript closure 개념 (0) | 2021.09.10 |
인턴의 첫번째 과제 코드 리뷰 (0) | 2021.09.10 |