首页 > 解决方案 > 使用 new String() 创建的日志变量返回整个对象

问题描述

这里一定有一些我错过的东西,但是在阅读了 MDN 文档之后,似乎没有任何直接的方法可以实现我想要做的事情。

当尝试console.log()使用创建的变量时new String("text"),控制台打印[String: 'text']而不是预期的结果text

let testString = "test string!";
let testString2 = String("test string!");
let testString3 = new String("test string!");

console.log(testString);   // test string!
console.log(testString2);  // test string!
console.log(testString3);  // [String: 'test string!']

有什么方法可以只打印文本值testString3

标签: javascript

解决方案


您可以先将其转换为纯字符串String

let testString = "test string!";
let testString2 = String("test string!");
let testString3 = new String("test string!");

console.log(testString);   // test string!
console.log(testString2);  // test string!
console.log(String(testString3));  // test string!

testString3实际上是一个字符串对象,但您只需要原语。String在没有new返回原始字符串的情况下调用。


推荐阅读