当前位置:  首页>> 技术小册>> JavaScript面试指南

typeof和instanceof都是用于判断JavaScript中的变量类型的操作符,但它们的区别是不同的。

typeof操作符返回一个字符串,表示变量的数据类型,例如”string”、”number”、”boolean”、”undefined”、”object”和”function”。

instanceof操作符用于检查一个对象是否是某个特定类的实例,它返回一个布尔值,如果对象是该类的实例,则返回true,否则返回false。

以下是一个示例代码,用于演示typeof和instanceof操作符的区别:

  1. var str = "Hello World";
  2. var num = 123;
  3. var bool = true;
  4. var arr = [1, 2, 3];
  5. var obj = {a: 1, b: 2};
  6. var fun = function() {};
  7. console.log(typeof str); // "string"
  8. console.log(typeof num); // "number"
  9. console.log(typeof bool); // "boolean"
  10. console.log(typeof arr); // "object"
  11. console.log(typeof obj); // "object"
  12. console.log(typeof fun); // "function"
  13. console.log(arr instanceof Array); // true
  14. console.log(obj instanceof Object); // true
  15. console.log(fun instanceof Function); // true
  16. console.log(str instanceof String); // false
  17. console.log(num instanceof Number); // false
  18. console.log(bool instanceof Boolean); // false

在上述代码中,我们声明了一个字符串变量str,一个数字变量num,一个布尔变量bool,一个数组变量arr,一个对象变量obj和一个函数变量fun。我们使用typeof操作符输出了这些变量的类型,以及instanceof操作符检查了arr、obj和fun是否是其对应的类的实例。注意到在最后三行代码中,我们使用instanceof检查了一个字符串、一个数字和一个布尔值,但结果都是false,这是因为在JavaScript中,原始类型的值不是对象,不能是任何类的实例,因此这些检查都会返回false。

typeof和instanceof是用于检查JavaScript变量类型的重要操作符,在编写代码时需要了解它们的区别,以确保正确地使用它们。


该分类下的相关小册推荐: