为什么js中要用void 0 代替undefined
這個是Backbone.js中的一句源碼
if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;
此處void 0和undefined意義一樣嗎,我f12 chrome后,
undefined === void 0;//true
除了防止被重寫外,還可以減少字節。void 0代替undefined省3個字節。
類似的還有很多常用的寫法,看到別人這樣寫的時候就當是老司機的套路就行了。
//取整
parseInt(a,10); //Before
Math.floor(a); //Before
a>>0; //Before
~~a; //After
a|0; //After
//四舍五入
Math.round(a); //Before
a+.5|0; //After
//內置值
undefined; //Before
void 0; //After, 快
0[0]; //After, 略慢
//內置值
Infinity;
1/0;
//布爾值短寫法
true; //Before
!0; //After
//布爾值短寫法
false; //Before
!1; //After
---省略更多
轉載于:https://www.cnblogs.com/yf2196717/p/10867772.html
總結
以上是生活随笔為你收集整理的为什么js中要用void 0 代替undefined的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Teams新功能更新【六月底】Micro
- 下一篇: ocelot简单入门