JavaScriptにはnullとundefinedと、立場が似たものがあるわけですが、さらにこのundefinedにも二種類あるよってお話です。 「本当に無い」のと「「無い」がある」のと 値がundefinedであるときは、文字通り「未定義」である場合と、「未定義という値」である場合とがあります。 var obj = { a: undefined }; console.log(obj.x); // => undefined(定義されていないプロパティ) console.log(obj.a); // => undefined(未定義という値)
![JavaScriptには在るundefinedと無いundefinedってのがありまして。 | Ginpen.com](https://cdn-ak-scissors.b.st-hatena.com/image/square/de4af7f62b39439905833504e59ba1e153be6d8b/height=288;version=1;width=512/https%3A%2F%2Fginpen.com%2Fwp-content%2Fthemes%2Fginpen-theme%2Fimg%2Ficon-512.png)