javascript - Javascript 是否将数字和其他数据类型转换为字符串以在控制台中打印?
问题描述
所以我在读一本关于 JS 的书,它说如果你写
var x = 20;
console.log(x);
然后 Javascript 将首先将 x 隐式转换为字符串,然后打印它。Javascript不能只在控制台上打印数字吗?
解决方案
书不太对。除非您故意与字符串连接,否则控制台通常会按原样记录参数。数字将被记录为数字,字符串将被记录为字符串,对象将被记录为(可扩展,可导航)对象,等等。
console.log(20);
console.log('20');
结果是
您需要睁大眼睛才能注意到它,但记录的数字与字符串的显示方式截然不同;控制台尚未将所有内容转换为字符串。
另一方面,如果你做的事情确实涉及到预先将表达式强制转换为字符串,例如:
console.log('Value is: ' + someValue);
这将导致someValue
无论其类型如何,都首先被强制转换为字符串。但这不是因为控制台,而是因为+
在将结果作为参数传递给控制台之前将表达式连接在一起。
推荐阅读
- gnuplot - 带有 gnuplot 的 4D 绘图
- javascript - 定义一个值在 1 到 100 之间的变量
- angular - 是否可以选择一个文件夹并以角度 9 上传其中的所有文件?
- c++ - 如何将 C++ 系统调用连接到 freertos
- c++ - 向量的内存位置不连续
- php - 尝试在 Arch 上升级 DokuWiki 农场设置,wiki 现在完全被冲洗
- python - 使用API直接调用google cloudfunction
- c# - 执行 INSERT 时出现 SQL 错误:'s' 附近的语法不正确
- javascript - 如何在登录页面上添加 Android 和 iOS 设备图像
- android - 当 setHasFixedSize(true) 时,Firebase recyclerview 不显示任何内容