亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

簡化一段javascript代碼

標簽:
JavaScript

在实际的项目中,我们经常会有如下的需求:
从一个map中获取某key的值,如果发现对应的key的值为null,则为该key创建一个值(一般为初始值),然后把这个值存回到map中,代码如下:

var value = map[key];if(value == null){
        value = "";        map[key] = value;
}

但是总感觉这段代码很恶心,为啥,太啰嗦,太长。 实际项目中,这种操作会技巧多,如果到处都是这种操作的话,就很让人崩溃。坏蛋必须死。

赋值操作合并

首先,value = "" 和 map[key] = value这两行没必要写成两行,都是赋值,应此可以这样优化:

var value = map[key];if(value == null){
        value = map[key]  = "";
}

去掉if判断

如果把if判断,改成三元运算符,可以减少代码,如下:

var value = map[key];
 value   = (value == null) ?( map[key]  = "") : value;

如果用 || 符号,看起来更加方便:

var value = map[key];
 value   = value || (map[key] = "");

当然,这两行代码,最终可以合并成如下代码:

  var value = map[key]  || (map[key] = "");

至此完成,最终5行代码简化成一行代码。

另外一个答案

拿这个问题问公司的小伙伴,下面是另外一种答案:

var value = map[key] = map[key]  ||  ""

总结

这个问题并不难,拿这个问题问小伙伴,一些人也可以给出正确答案。但平时没有谁这样去主动思考。



作者:ITman彪叔
链接:https://www.jianshu.com/p/70c47d51ca48


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消