javascript - 这两个字符串的区别(JavaScript)
问题描述
我试图以两种方式创建具有值的字符串数据类型变量。
- 作为字符串文字
- 使用新关键字
但对我来说,这两者在console.log上的表示似乎不同。有人可以告诉我第二种方式是否不返回字符串还是有所不同?
var str1 = "abc";
var str2 = new String("def");
console.log(str1);
console.log(str2);
预期的:
美国广播公司,定义
输出:
解决方案
JavaScript 有两个主要的类型类别,原始类型和对象。
typeof new String(); // "object"
typeof ''; // "string"
对于将原始值分配给变量的语句,例如:
var str1 = "Hi";
JavaScript 将使用以下方法在内部创建变量:
String("Hi")
使用 new 关键字的工作方式不同,而是返回一个对象。
推荐阅读
- android - 检查数据状态是否完全写入文件?
- c# - 无法让 InvokedItemContainer 与 Android 一起使用
- azure - 构建 docker 映像时无法在 Azure DevOps(工件)中授权
- firebase - 如何允许 Firebase RTB 架构中组织对象的“所有者”对属于该组的所有“用户”进行 .read 访问?
- c++ - boost::filesystem 获取当前目录中的所有文件 - Windows
- java - 如何正确从 HashMap 加载到 html 表?
- python - ImportError:使用 Kalibr 时没有名为 json 的模块
- python - 无法将 VS Code / Jupiter Notebook 连接到 Python 内核
- time-series - 如何将 lstm 用于集群数据?
- javascript - 如何使用 ethereumjs-tx | 没有错误:Tx 不是构造函数?