JS中为何~~undefined = 0?

在一篇博文中看到 ~function()() = -1 ,就试了下 ~~undefined 。 JS中为何 ~~undefined = 0,底层的原因…
关注者
20
被浏览
9,319
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

~是取反操作符, 所以不可能得到Infinity和NaN

Number()或者new Number().valueOf()相当于强制转换,可以得到Infinity和NaN

所以~~和Number()并不等价

===============================

~~undefined相当于~~Number(undefined)