- 객체 사용 시 주의점
사소하지만 가볍게 여기면 어느새 버그로 나타나 1시간 이상을 헤메이게도 하는 그런 주의점들(...)을 모아보았다. 객체 사용 시 주의할 점이다.
1) 프로퍼티 키 이름이 두 단어 이상일 때
프로퍼티 키 이름이 두 단어 이상일 때는 반드시 따옴표로 감싸주어야 한다. 그렇지 않은 경우 자바스크립트는 이를 인식하지 못하고 에러를 발생시킨다.
let user = {
"Oh yeah" : "something"
}
이는 객체 접근 시에도 주의해야 할 부분으로, 키 이름이 두 단어 이상일 때는 대괄호( [] )를 사용해야 자바스크립트에서 정상적으로 인식이 가능하다. 다만 단어의 연결에 $, _ 기호를 사용한 경우는 대괄호를 쓰지 않아도 무방하다.
2) 객체 내의 프로퍼티가 여러개일 때
프로퍼티가 여러개일 때는 마지막 프로퍼티에 쉼표를 써준다. 이는 구분키 위한 것으로, 필수적인 것은 아니다. 추후 코드의 유지보수 시 쉼표가 있으면 편리하기 때문이다.
let user = {
name : "I",
age : "30",
}
3) 변수명을 예약어로 사용
우리가 잘 알고 있듯, 변수명에는 예약어 사용이 불가하다. 다만, 자바스크립트에서 객체의 프로퍼티 키 이름으로 예약어 사용이 가능하다. (그러나 개인적으로는 그닥 권장할만한 사항은 아닌 듯 하다. 차후 다른 언어의 사용에서도 그렇고 혼란의 우려가 크다.. 그렇지만 이렇게 써도 오류가 아니라는 점을 인지하고 있으면 참고가 될 것 같다.)
let obj = {
for : 1,
let : 2,
return : 3
}
4) 프로퍼티가 존재하지 않을 때, "undefined"
객체에 접근할 때, 해당 프로퍼티가 존재하지 않음에도 자바스크립트에서는 오류를 발생시키지 않는다. 대신, "undefined"를 반환한다. 따라서 undefined라는 결과값으로 해당 프로퍼티가 존재하지 않음을 알 수 있다. 다만 프로퍼티를 만든 적이 없음에도, undefined를 반환했다고해서 프로퍼티를 만들었는데 오류가 났다고 착각하지는 않기를!
참고 : 웹 사이트 <JAVASCRIPT.INFO>
'TIL' 카테고리의 다른 글
<자바스크립트 Javascript> 스코프(Scope) (2) (0) | 2021.12.26 |
---|---|
<자바스크립트 Javascript> 스코프(Scope) (1) (0) | 2021.12.25 |
<CSS> 반응형 웹 디자인 - 메뉴바 (3) (0) | 2021.12.23 |
<자바스크립트 Javascript> 객체 리터럴 (0) | 2021.12.22 |
<자바스크립트 Javascript> 타입 변환 (0) | 2021.12.21 |