为了账号安全,请及时绑定邮箱和手机立即绑定

按位或是怎么保证结果总是数字的,这个转换看不懂

按位或是怎么保证结果总是数字的,这个转换看不懂

30秒到达战场 2019-02-09 18:35:19
对象转换成数字,先调用 valueOf 方法,如果没有则调用 toString 方法,这里 Date 和 函数的转换看不懂是怎么转换的。var a = {   valueOf() => 44}1 * a // 44var b = {    toString: () => '22'}1 * b // 221 * Date // NaN1 * (() => 'fun') // NaN感谢 zhenguoli 回答ToInt32 第二步操作转换的Let number be ? ToNumber(argument).If number is NaN, +0, ‑0, +∞, or ‑∞, return +0.顺便发现第五步If int32bit ≥ 2^31 , return int32bit ‑ 2^32; otherwise return int32bit.也就是4294967297 | 0 // => 1这就感觉有 TypeScript 会继承这些隐藏的坑啊,毕竟 Kotlin 的代码是这样转换的    // Kotlin    val l = 8589934592    println(or(ll))        // to JavaScript    var l = new Kotlin.Long(0, 2);    println(or(new Kotlin.Long(0, 2)));
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 406 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信