javascript - 使用 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
?
解决方案
您可以先将其转换为纯字符串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
返回原始字符串的情况下调用。
推荐阅读
- .net - 创建RSACng的时候key创建参数有什么作用?
- java - java.lang.RuntimeException: android.os.TransactionTooLargeException: 数据包大小 1847812 字节
- sql - 将所有 SQL create table 语句打包成一条语句
- javascript - 如何从自定义 React 钩子返回变异值?
- ios - Xcode app_tracking_transparency 模块未找到
- c# - 如何使用 viewBag 将我的数据库中的信息结果显示到我的视图中?
- mysql - 如何组合行并从这些行中获取高点和低点
- javascript - 如何在 linux 上模拟 ios 或 React native 的任何其他替代方案以在 ios 上工作和测试?
- webstorm - WebStorm 终端颜色 - Linux
- docker - 使用 VSCode 在 docker 容器中重新打开后,文件会自动从 dos 覆盖到 unix