首页 > 解决方案 > 这两个字符串的区别(JavaScript)

问题描述

我试图以两种方式创建具有值的字符串数据类型变量

  1. 作为字符串文字
  2. 使用新关键字

但对我来说,这两者在console.log上的表示似乎不同。有人可以告诉我第二种方式是否不返回字符串还是有所不同?

var str1 = "abc";
var str2 = new String("def");
console.log(str1);
console.log(str2);

预期的:

美国广播公司,定义

输出:

在此处输入图像描述

标签: javascripthtml

解决方案


JavaScript 有两个主要的类型类别,原始类型和对象。

typeof new String(); // "object"
typeof '';           // "string"

对于将原始值分配给变量的语句,例如:

var str1 = "Hi";

JavaScript 将使用以下方法在内部创建变量:

String("Hi")

使用 new 关键字的工作方式不同,而是返回一个对象。


推荐阅读