"정의되지 않음"은 할당되어서는 안 됩니다.

반응형
undefined

 아직 생성되지 않은 변수 및 속성에 대해 얻는 값입니다. 동일한 값을 사용하여 기존 변수를 재설정하면 존재하지만 값이 없는 변수와 아직 존재하지 않는 변수를 구별하는 기능을 잃게 됩니다. 대신 null을 사용해야 재설정된 속성과 생성되지 않은 속성 간의 차이를 알 수 있습니다.

나쁜 예:

var myObject = {};

// ...
myObject.fname = undefined;  // Noncompliant
// ...

if (myObject.lname == undefined) {
  // property not yet created
}
if (myObject.fname == undefined) {
  // no real way of knowing the true state of myObject.fname
}

좋은 예:

var myObject = {};

// ...
myObject.fname = null;
// ...

if (myObject.lname == undefined) {
  // property not yet created
}
if (myObject.fname == undefined) {
  // no real way of knowing the true state of myObject.fname
}
반응형