全国统一服务热线:400-633-9193

分享19个JavaScript 有用的简写写法

    网络     2017-07-10    1462

1.三元操作符

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

普通写法:

1
2
3
4
5
6
7
const x = 20;
let answer;
if (x > 10) {
  answer = 'is greater';
} else {
  answer = 'is lesser';
}

简写:

1
const answer = x > 10 ? 'is greater' : 'is lesser';

也可以嵌套if语句:

1
const big = x > 10 ? " greater 10" : x

2.短路求值简写方式

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

1
2
3
if (variable1 !== null || variable1 !== undefined || variable1 !== '') {
   let variable2 = variable1;
}

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

1
const variable2 = variable1 || 'new';

3.声明变量简写方法

1
2
3
let x;
let y;
let z = 3;

简写方法:

1
let x, y, z=3;

4.if存在条件简写方法

1
if (likeJavaScript === true)

简写:

1
if (likeJavaScript)

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

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

1
2
3
4
let a;
if ( a !== true ) {
// do something...
}

简写:

1
2
3
4
let a;
if ( !a ) {
// do something...
}

5.JavaScript循环简写方法

1
for (let i = 0; i < allImgs.length; i++)

简写:

1
for (let index in allImgs)

也可以使用Array.forEach:

1
2
3
4
5
6
7
8
function logArrayElements(element, index, array) {
 console.log("a[" + index + "] = " + element);
}
[2, 5, 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[2] = 9

6.短路评价

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

1
2
3
4
5
6
let dbHost;
if (process.env.DB_HOST) {
 dbHost = process.env.DB_HOST;
} else {
 dbHost = 'localhost';
}

简写:

1
const dbHost = process.env.DB_HOST || 'localhost';

7.十进制指数

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

1
for (let i = 0; i < 10000000; i++) {}

简写:

1
2
3
4
5
6
7
8
9
for (let i = 0; i < 1e7; i++) {}
 
// 下面都是返回true
1e0 === 1;
1e1 === 10;
1e2 === 100;
1e3 === 1000;
1e4 === 10000;
1e5 === 100000;

8.对象属性简写

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

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

简写:

1
const obj = { x, y };

9.箭头函数简写

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

1
2
3
4
5
6
7
8
9
10
11
function sayHello(name) {
 console.log('Hello', name);
}
 
setTimeout(function() {
 console.log('Loaded')
}, 2000);
 
list.forEach(function(item) {
 console.log(item);
});

简写:

1
2
3
sayHello = name => console.log('Hello', name);
setTimeout(() => console.log('Loaded'), 2000);
list.forEach(item => console.log(item));

10.隐式返回值简写

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

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

1
2
3
4
5
6
7
function calcCircumference(diameter) {
 return Math.PI * diameter
}
 
var func = function func() {
 return { foo: 1 };
};

简写:

1
2
3
4
5
calcCircumference = diameter => (
 Math.PI * diameter;
)
 
var func = () => ({ foo: 1 });

11.默认参数值

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

1
2
3
4
5
6
7
  分享到:  
0.2378s