Microsoft 面试题 #4 — JavaScript Equality & Coercion|JS 相等与类型转换

56次阅读
没有评论

评估 JavaScript 相等与类型转换表达式

Problem statement
Given:

const a = 1;
const b = '1';

What is the result of each of the following statements?

a == b
a === b
!a === !b
a + b
a + +b

Answers with explanation(答案与解释)

  • a == btrue== 会做类型转换,'1' -> 1)
  • a === bfalse=== 不做转换,number vs string)
  • !a === !btrueab 都是 truthy,取反后都为 falsefalse === false
  • a + b“11”+ 遇到字符串做拼接,1 转字符串)
  • a + +b2(一元 +'1' 转为数字 1,所以 1+1=2)

简要思路(CN)
掌握 JS 的宽松相等(会“数值化”字符串)与严格相等(不转换),以及 + 的“字符串优先拼接”与一元 + 的数值化规则。

VOprep 团队长期陪同学员实战各类大厂 OA 与 VO,包括微软、Google、Amazon、Citadel、SIG 等,提供实时答案助攻、远程陪练与面试节奏提醒,帮助大家在关键时刻不卡壳。
如果你也在准备 Stripe 或类似工程向公司,可以了解一下我们的定制助攻方案——从编程面到系统设计,全程护航上岸。

正文完
 0