ES6常用的简写技巧

ES6简写技巧
初级篇
1、三目运算符
const x = 20;

let answer;

if(x > 10) {

answer = ‘greater than 10’;

}else {

answer = ‘less than 10’;

}

简写为: const answer = x > 10 ? ‘greater than 10’ : ‘less than 10’;

2、循环语句
当使用纯JavaScript(不依赖外部库,如JQuery或lodash)时

for(let i = 0; i < array.length; i++) {

}

简写为

for(let index of array)

下面是遍历forEach的简写例子:

[2, 8, 9].forEach(function(element, index, array) {

console.log(‘a[’ + index + '] = ’ + element);

});

3、声明变量
在函数开始之前,对变量初始化赋值是一个很好的习惯,如果存在多个变量

let x;

lex y;

lex z = 3;

可以简写为 let x,y,z = 3;

4、在使用If进行基本判断时可以省略赋值运算符
if(a === true) 可以写成if(a)

5、多行字符串拼接可以用``代替’’+
let a = ‘adsa’

  • ‘dasd’;

可以写为 let a = `adsa

dasd`;

高级篇
1、变量赋值及默认值复制
当一个变量的值赋给另一变量时,首先需要确保原值不是null、未定义的或空值。

if(a != null || a != undefined || a != ‘’) {

let b = a;

}

可以简写为以下的形式

const b = a || ‘new’

2、 对象属性
ES6提供了一个很简单的办法,来分配属性的对象。如果属性名和key名相同,则可以使用简写。

const obj = {x:x, y:y};

可以简写为

const obj = {x, y};

3、箭头函数
经典函数很容易读写,但如果把它们嵌套在其他函数中进行调用时,整个函数就会变得有些冗余和混乱。 这时候可以使用箭头函数来简写:

function sayHello() {

console.log(‘hello’);

}

setTimeout(function() {

console.log(‘setTimeout’)

}, 2000);

上述可以简写为

sayHello = () => console.log(‘hello’);

setTimeout(() => console.log(‘loaded’), 2000);

4、隐式返回值
返回值是我们通常用来返回函数的最终结果的关键字。只有一个语句的箭头函数,可以隐式返回结果(函数必须省略括号{})

要返回多行语句(例如对象文本),需要使用()而不是{}来包裹函数体,这样可以保证单个语句的形式进行求值。

function calcCircumference(diameter) {

return Math.PI * diameter;

}

简写为:

calcCircumference = dameter => (Math.Pi * diameter);

5、默认参数值
可以使用if语句来定义函数参数的默认值。es6中规定了可以在函数声明中定义默认值。

function volume(l, w, h) {

if(w === undefined) {

w =3;

}

if(h === undefined) {

h =3;

}

return h * w * l;

}

可以简写为

function volume(l, w = 3, h = 4) => l * w * h;

6、 模板字符串
在反引号和${*}这种写法可以将变量的值合成一个字符串。

const a = ’ you have get’ + first + ‘.’;

可以简写为

const a = you have get ${first}.

7、解构赋值
const o = {a : 1, b :2};

const a = o.a;

const b = o.b;

可以简写成

const {a,b} = o;

8、展开运算符
// join arrays

const odd = [1, 3, 5];

const nums = [2, 4, 6].concat(odd);

可以简写为

nums = [2, 4, 6, …odd];

也可以将展开运 算符合ES6解构符号结合使用 例如

const {a, b, …z} = {a: 1, b: 2, c: 3, d: 4};

console.log(z); // {c:3, d: 4}

9、强制参数
默认情况下,如果不向函数参数传值,那么JavaScript将函数参数设置为未定义。其他一些语言会发出警告或错误。要执行参数分配,可以使用if语句抛出未定义的错误,或者可以利用‘强制参数’;

function foo(bar) {

if(bar === undefined) {

throw new Error(‘Missing parameter’);

}

return bar;

}

简写为

mandatory = () => {

throw new Error(‘Missing parameter’);

}

foo = (bar = mandatory()) => {

return bar;

}

10、双位操作符
位操作符是JavaScript初级教程的基本知识点,但是我们却不尝试用为操作符。因为在不处理二进制的情况是,没人愿意使用1或0

但是双位操作符却有一个很实用的案例。 你可以使用双位操作符来替代Math.floor()。双否定位操作符的优势在于它执行相同的操作运行速度更快。

Math.floor(4.9) === 4; // true

简写为:

~~4.9 === 4;// true

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C+ 安口木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值