【发布时间】:2019-03-09 09:22:59
【问题描述】:
我正在阅读有关隐式和显式强制的 JavaScript 教程。
关于隐式强制,在后台会发生什么?
var a = "42";
var b = a * 1; //this is implicitly coerced to 42 -- the number
隐式强制总是是否强制转换为数字?如果我们想按照下面的 Python 示例做一些事情怎么办。
我很困惑,因为其他语言(例如 Python)会给您如下所示的结果。
a = "3";
b = 9;
print a * b; //This would print 333333333 -- the string
【问题讨论】:
-
它将根据操作和操作数进行强制。例如
+将强制字符串和数字都为字符串,但使用布尔值和数字将强制为数字。 -
虽然熟悉 JavaScript 中隐式强制转换的概念和一般结果是件好事,但在任何类型的生产质量代码中依赖这些都不是一个好主意。
标签: javascript coercion