1、 取数组中的数据,并对空值设置默认值:
常规写法:
let arr = [0, 1, null, '', 'abc']; let newArr = []; arr.forEach((item, index) => { if (!item) { newArr[index] = '我原来是空值'; } else { newArr.push(item); } })
高逼格写法:
let arr = [0, 1, null, '', 'abc']; let newArr = []; arr.forEach((item, index) => { newArr.push(item || item = '这种写法是不是很屌?')) })
2、数值取整:
常规写法:
let num = 1.12;
let intNum = parseInt(num);
高逼格写法:
let num = 1.12; let intNum; // 写法一: intNum = num|0; // 写法二: intNum = ~~num; // 写法三: intNum = num^0;
// 写法四
intNum = num << 0;
3、不用第三个参数交换两个变量的数值:
常规写法:
let num1 = 5, num2 = 6; num1 = num1 + num2; num2 = num1 - num2; num1 = num1 - num2;
// 常规写法二:
num1 ^= num2;
num2 ^= num1;
num1 ^= num2;
高逼格写法:(逼格高不高?)
// 写法一:
let num1 = 5, num2 = 6; num1 = [num2, num2 = num1][0];
// 写法二:
[num1, num2] = [num2, num1];
4、函数参数默认值:
常规写法:
function fn(name) { if (name) { name = name; } else { name = '我是默认值'; } }
// 常规写法二:
function fn(name) {
name = name || '我是默认值';
return name;
}
高逼格写法:
function fn(name = '我是默认值') { return name; }
以上写法法不仅逼格高,而且代码精简很多,可以说是居司开发必备良方啊!