TypeOFはオペレーターであり、Operandに戻る結果は6種類(ESのみ、ホスト環境オブジェクトではなく)を持つ弦です。
1.「採用」
2.「Boolean」
3.「ストリング」
4.「Number」
5.'Object '
6.「機能」
それはオペレーター自体であり、機能ではないため、使用するときにブラケットを追加する必要はありません。
コードコピーは次のとおりです。
if(typeof(obj)=== '未定義'){
// ...
}
TypeOFはタイプを判断するために使用され、いくつかの落とし穴があります
1. Nullの返却は「オブジェクト」ですが、実際にはオブジェクトとして使用することはできません。
コードコピーは次のとおりです。
var obj = null
if(typeof obj === 'object'){
obj.a()//ここでエラーが報告されています
}
2。NANの返却は「番号」ですが、算術操作を実行するために使用することはできません。
コードコピーは次のとおりです。
var obj = {}
var num = parseint(obj.a)
if(typeof num === 'number'){
num = num + 10 // numは実行後もまだnanです
}
3.すべての操作のオブジェクト、配列、および通常の操作を区別し、「オブジェクト」を返すことはできません。
コードコピーは次のとおりです。
var obj = {}
var arr = []
var reg = /pop /g
console.log(typeof obj)// 'object'
console.log(typeof arr)// 'object'
console.log(typeof reg)// 'object'
4。SAFAR5およびCHROME7の前のバージョンは、「関数」を通常のオブジェクトに返します。
最後に、仕様の説明が掲載されています