Maison >interface Web >js tutoriel >Quelle est la différence entre typeof et instanceof

Quelle est la différence entre typeof et instanceof

王林
王林original
2020-11-13 10:51:4018347parcourir

La différence entre typeof et instanceof est la suivante : la valeur de retour de typeof est une chaîne, utilisée pour décrire le type de données de la variable ; la valeur de retour de instanceof est une valeur booléenne, utilisée pour déterminer si une variable appartient à une instance d'un objet.

Quelle est la différence entre typeof et instanceof

Comparez typeof et instanceof

Mêmes points :

Typeof et instanceof en JavaScript sont souvent utilisés pour déterminer si une variable est vide, ou de quel type il s'agit.

(Recommandation vidéo d'apprentissage : tutoriel vidéo javascript)

Différences :

typeof :

1. Chaîne utilisée pour décrire le type de données de la variable.

2. Typeof ne peut généralement renvoyer que les résultats suivants : nombre, booléen, chaîne, fonction, objet, non défini.

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

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

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

// }

L'utilisation de typeof pour des objets spéciaux tels que Array et Null renverra toujours un objet. C'est la limitation de typeof.

instanceof :

1. La valeur de retour est une valeur booléenne

2 est utilisée pour déterminer si une variable appartient à une instance d'un objet.

// 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

Recommandations associées : Tutoriel js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn