直接上图 最近回顾犀牛书的时候看到这个问题,书上写的比较抽象,想知道
谢谢💪💪
就好像这样
console.log(1 + "1") // 11 console.log(1 - "1") // 0
看着情况
好像是这样:
坐等楼下列出规范
这种事,直接找源码就好了。
首先, + 或 - ,都是转成 Object 处理的: https://github.com/v8/v8/blob/eff39bbb70e92dd8115f1ac8e3b48b5c53ad0a35/src/runtime/runtime-operators.cc#L39
Object
然后, + 和 - ,的具体处理,逻辑上本来就不同:https://github.com/v8/v8/blob/f2bd913cd459854894447f5422a953d23fa4e7ba/src/objects.cc#L666
可以看到, - 只是单纯的转成数字,而 + 则涉及字符串连接。
-
+
v8 的实现是这样的。
我不熟悉 v8 的源码,只是随便搜索了一下。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
就好像这样
看着情况
好像是这样:
坐等楼下列出规范
这种事,直接找源码就好了。
首先, + 或 - ,都是转成
Object处理的: https://github.com/v8/v8/blob/eff39bbb70e92dd8115f1ac8e3b48b5c53ad0a35/src/runtime/runtime-operators.cc#L39然后, + 和 - ,的具体处理,逻辑上本来就不同:https://github.com/v8/v8/blob/f2bd913cd459854894447f5422a953d23fa4e7ba/src/objects.cc#L666
可以看到,
-只是单纯的转成数字,而+则涉及字符串连接。v8 的实现是这样的。
我不熟悉 v8 的源码,只是随便搜索了一下。