条件演算子の true 節で、未定義のプロパティのこの予期しない動作が発生しています。
例: Javascript:
var obj = undefined;
console.log("hello world" + (obj) ? obj.Name.toString(): "Object not defined");
予期される動作は、「定義されていません」というログ エントリを取得することです。hello worldObject
代わりにエラーがスローされます: SCRIPT5007: Unable to get value of the property 'Name': object is null or undefined
.これはどのように行われるのでしょうか。
var obj = undefined;
console.log("hello world" + ((obj) ? obj.Name.toString(): "Object not defined"));