类型运算符和实例运算符为同一 var 返回不同的信息

typeof and instanceof operators returns different information for the same var

本文关键字:运算符 返回 信息 var 实例 类型      更新时间:2023-09-26

观察以下JavaScript代码行:

<!DOCTYPE html>
<html>
   <head>
      <title>typeof vs instanceof</title>
   </head>
   <body>
      <script type="text/javascript">
var myString = "MyString";
alert( typeof myString );
alert( myString instanceof String );
      </script>
   </body>
</html>

第一个警报说string(小写),而第二个警报说false...

为什么?

您混淆了原始类型string和作为String实例的对象的类型对象。他们是不同的。

var s = "a"; // a string, typeof is "string"
var s = new String("a"); // an instance of String, typeof is "object"