본문 바로가기

TIL

<자바스크립트 Javascript> 객체 사용 시 주의점

- 객체 사용 시 주의점

사소하지만 가볍게 여기면 어느새 버그로 나타나 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>