일반적인 방법은 사용하는 것입니다.
obj
의 값이 "거짓"값으로 해석되면 새 개체에 대한 참조가 할당됩니다.
가능한 결과이다 : 값이 할당되지 않은
obj
경우 새로운 개체 참조가 할당된다.
obj
에 이전에 "falsey"값이 지정되어 있으면 새로운 객체 참조로 대체됩니다 (잘못된 값을 할당 한 코드를 혼동시킬 수 있음).
obj
에 미리 "truethy"프리미티브 값이 할당 된 경우 다음과 같은 속성 할당을 obj
으로하면 오류가 발생하고 스크립트 실행이 중지됩니다.
obj
이 이미 null
이외의 개체에 대한 참조 인 경우 속성의 후속 할당은 해당 개체에 대한 것입니다. 객체의 유형에 따라 문제가있을 수 있습니다. 아니. 아마도 당신의 통제 밖에있는 물건이 그 물건을 창조 했으므로 당신이 알지 못하는 한 그것을 수정하거나 파괴 할 수 있습니다. 너는 무엇을 할 것인가?
그것은 경우 2, 3 또는 4 그것이 당신의 obj
당신이 dealiing하고 아니에요으로, 일반적으로 처리하는 자바 스크립트 할 수 없습니다. 따라서 다른 사람들과 충돌 할 가능성이없는 이름을 사용하고 # 1 또는 # 4를 얻고 모든 일이 잘 진행되기를 바랍니다.
덧붙여 말하자면, 코드가 실행되는 시점에서 # 1을 가졌다 고하더라도, # 4에서 여전히 더 많은 코드가 추가 될 수 있습니다. 결과가 본질적으로 동일하기 때문에
if (typeof obj == 'undefined')
:
같은 테스트에 추가 혜택이 없습니다.
1. '! ==='이 없습니다. 2. 당신은 ** 당신이 ** 정말로 필요로하는 것을 설명하지 않았습니다. ** 실제 ** 목표에 따라 솔루션은 달라질 수 있습니다 – zerkms
새 오브젝트를 만들려면 단순히'var obj = {}'를 사용하지 않으시겠습니까? –
잘 obj를 {}로 설정하면 null이거나 정의되지 않을 수 있습니다. – epascarello