2

javascriptstypeof式はnullをチェックしますか?

var test = {};
console.log(typeof test['test']);//"undefined"

var test = null;
console.log(typeof test['test']);//TypeError: test is null

typeof null明らかに、しかし、オブジェクトの場合、なぜエラーが発生するのでしょうか?

編集:
型エラーを回避する方法は知っnullていますが、それにはプロパティがありませんが、の動作に説明があるのではないかと思っていますtypeof

4

4 に答える 4

1

問題は、の要素にアクセスしようとしているがtest、配列/オブジェクトでtestはないことです。nullしたがって、次のコードはエラーをスローします: test['test'].

直接渡せtypeofば問題なく動作しますnull。たとえば、node.js コンソールを使用すると、次のようになります。

> typeof null
'object'
于 2013-07-17T13:35:29.563 に答える
0

次のようにテストしてみることができます

typeof (test && test['test']) 

このようにして TypeError を回避します

于 2013-07-17T13:37:07.050 に答える