19个JavaScript有用的简写技术

举报
开发者学堂小助 发表于 2018/01/05 09:33:05 2018/01/05
【摘要】 本文总结了19个JavaScript有用的简写技术,其中包括三元操作符、短路求值简写方式、声明变量简写方法等等,希望对大家有所帮助。

本文总结了19个JavaScript有用的简写技术,其中包括三元操作符、短路求值简写方式、声明变量简写方法等等,希望对大家有所帮助。

ScreenShot00088.png

1.三元操作符

当想写if...else语句时,使用三元操作符来代替。

ScreenShot00064.png

简写:

ScreenShot00065.png

也可以嵌套if语句:

ScreenShot00066.png

2.短路求值简写方式

当给一个变量分配另一个值时,想确定源始值不是null,undefined或空值。可以写撰写一个多重条件的if语句。

ScreenShot00067.png

或者可以使用短路求值方法:

ScreenShot00068.png

3.声明变量简写方法

ScreenShot00069.png

简写方法:

ScreenShot00070.png

4.if存在条件简写方法

ScreenShot00071.png

简写:

ScreenShot00072.png

只有likeJavaScript是真值时,二者语句才相等

如果判断值不是真值,则可以这样:

ScreenShot00073.png

简写:

ScreenShot00074.png

5.JavaScript循环简写方法

ScreenShot00075.png

简写:

ScreenShot00076.png

也可以使用Array.forEach:

ScreenShot00077.png

6.短路评价

给一个变量分配的值是通过判断其值是否为null或undefined,则可以:

ScreenShot00078.png

简写:

ScreenShot00079.png

7.十进制指数

当需要写数字带有很多零时(如10000000),可以采用指数(1e7)来代替这个数字:

ScreenShot00080.png

简写:

ScreenShot00081.png

8.对象属性简写

如果属性名与key名相同,则可以采用ES6的方法:

ScreenShot00082.png

简写:

ScreenShot00083.png

9.箭头函数简写

传统函数编写方法很容易让人理解和编写,但是当嵌套在另一个函数中,则这些优势就荡然无存。

ScreenShot00084.png

简写:

ScreenShot00085.png

10.隐式返回值简写

经常使用return语句来返回函数最终结果,一个单独语句的箭头函数能隐式返回其值(函数必须省略{}为了省略return关键字)

为返回多行语句(例如对象字面表达式),则需要使用()包围函数体。

ScreenShot00086.png

简写:

ScreenShot00087.png

11.默认参数值

为了给函数中参数传递默认值,通常使用if语句来编写,但是使用ES6定义默认值,则会很简洁:

ScreenShot00089.png

简写:

ScreenShot00090.png

12.模板字符串

传统的JavaScript语言,输出模板通常是这样写的。

ScreenShot00091.png

ES6可以使用反引号和${}简写:

ScreenShot00092.png

13.解构赋值简写方法

在web框架中,经常需要从组件和API之间来回传递数组或对象字面形式的数据,然后需要解构它

ScreenShot00093.png

简写:

ScreenShot00094.png

也可以分配变量名:

ScreenShot00095.png

14.多行字符串简写

需要输出多行字符串,需要使用+来拼接:

ScreenShot00096.png

使用反引号,则可以达到简写作用:

ScreenShot00097.png

15.扩展运算符简写

扩展运算符有几种用例让JavaScript代码更加有效使用,可以用来代替某个数组函数。

ScreenShot00098.png

简写:

ScreenShot00099.png

不像concat()函数,可以使用扩展运算符来在一个数组中任意处插入另一个数组。

ScreenShot00100.png

也可以使用扩展运算符解构:

ScreenShot00101.png

16.强制参数简写

JavaScript中如果没有向函数参数传递值,则参数为undefined。为了增强参数赋值,可以使用if语句来抛出异常,或使用强制参数简写方法。

ScreenShot00102.png

简写:

ScreenShot00103.png

17.Array.find简写

想从数组中查找某个值,则需要循环。在ES6中,find()函数能实现同样效果。

ScreenShot00104.png

简写:

ScreenShot00105.png

18.Object[key]简写

考虑一个验证函数

ScreenShot00106.png

假设当需要不同域和规则来验证,能否编写一个通用函数在运行时确认?

ScreenShot00107.png

ScreenShot00108.png

现在可以有适用于各种情况的验证函数,不需要为了每个而编写自定义验证函数了

19.双重非位运算简写

有一个有效用例用于双重非运算操作符。可以用来代替Math.floor(),其优势在于运行更快,可以阅读此文章了解更多位运算。

ScreenShot00109.png

简写:

ScreenShot00110.png



来源:segmentfault        作者:SangSir


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。