文章目录
1. if else
使用三元操作符来代替
if (x > 0) {
return true;
} else {
return false;
}
x > 0 ? true : false
if (a != b) {
return false;
}
a != b ? false : true
2. 短路求值,空(null,undefined)验证
当给一个变量分配另一个值时,想确定源始值不是null
,undefined
或空值。
if (args !== null || args !== undefined || args !== '') {
args2 = args1;
}
var args2 = args1 || '';
3. 变量声明
var a;
var b;
var c = 3;
var a, b, c = 3;
4. if 存在条件
if (like === true) { }
if (like) { }
if (a != b) {
return false;
}
a != b ? false : true
5. for 循环
for (let i = 0; i < arrObj.length; i++){ }
for (let i in arrObj) { }
[0,1,2].forEach(function(value, index) {
});
6. 十进制指数简写
// 返回true
1e0 === 1;
1e1 === 10;
1e5 === 100000;
7. 对象属性简写
var obj = { x: x, y: y };
如果key
名与 value
值相同,则可以采用ES6
的简写
var obj = { x, y }
8. 箭头函数简写
function fn(name) {
console.log('Hello', name);
}
var fn = name => console.log('hello',name);
9. 隐式返回值简写
经常使用return语句来返回函数最终结果
function fn1(name){
return 'yes';
}
var fn2 = function func(){
return { foo:1 };
}
一个单独语句的箭头函数能隐式返回其值(函数必须省略 {}
,为了省略 return
关键字)
返回多行语句,例如对象字面表达式,则需要使用()
包围函数体。
var fn1 = name => ('yes');
var fn2 = () => ({ foo:1 })
10. 赋值运算符
arg1 = arg1 + 1;
arg2 = arg2 - 1;
arg3 = arg3 + 10;
arg1++;
arg2--;
arg3 += 10;
11. 避免使用 RegExp对象
var reg = new RegExp("\d+(.)+\d+","igm"),
result = reg.exec("number 123 or 456 number");
var result = /d+(.)+/d+/igm.exec("number 123 or 456 number");
12. charAt()的替代品
console.log("hello".charAt(0)); // => h
console.log("hello"[0]); // => h
13. 更简短的函数调用
let bool = true;
function fn1() {
console.log("Yes")
}
function fn2() {
console.log("No")
}
(bool ? fn1 : fn2)()