ホームページ >ウェブフロントエンド >jsチュートリアル >typeofとinstanceofの違いは何ですか

typeofとinstanceofの違いは何ですか

王林
王林オリジナル
2020-11-13 10:51:4018329ブラウズ

typeof と instanceof の違いは次のとおりです: typeof の戻り値は変数のデータ型を記述するために使用される文字列であり、instanceof の戻り値はブール値であり、変数が属するかどうかを決定するために使用されます。オブジェクトのインスタンスに。

typeofとinstanceofの違いは何ですか

typeof とinstanceofの比較

同じ点:

typeof とinstanceof は、JavaScript で変数かどうかを判断するためによく使用されます。が空であるか、その型が何であるか。

(学習ビデオの推奨: javascript ビデオ チュートリアル)

相違点:

typeof:

1. 戻り値は 1 です。変数のデータ型を説明するために使用される文字列。

2. Typeof は通常、数値、ブール値、文字列、関数、オブジェクト、未定義の結果のみを返すことができます。

 if (typeof a != "undefined") {
   console.log("ok");

 } eles {
    console.log("not ok");
}
//下面的代码是错误的
// if (a) //因为如果 a 不存在( 未声明) 则会出错。
// if (a) {
//     console.log("ok");

// } else {
//     console.log('cc');

// }

配列や Null などの特殊なオブジェクトに typeof を使用すると、常にオブジェクトが返されます。これは typeof の制限です。

instanceof:

1. 戻り値はブール値

2. Instanceof は、変数がオブジェクトのインスタンスに属しているかどうかを判断するために使用されます。

// var a = new Array();
// alert(a instanceof Array); // true
// alert(a instanceof Object) // true
//如上, 会返回 true, 同时 alert(a instanceof Object) 也会返回 true;
// 这是因为 Array 是 object 的子类。
// alert(b instanceof Array) // b is not defined

// function Test() {};
// var a = new test();
// alert(a instanceof test) // true

関連する推奨事項: js チュートリアル

以上がtypeofとinstanceofの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。