过滤错误
如果想过滤数组中的false、0、null、undefined等值,可以这样
const array = [1, 0, undefined, 2, ' ', false];
array.filter(Boolean);
// [1, 2]
使用逻辑运算符
if(a>1){
fun()
}
//可以写成
a>1 && fun()
if判断简化
if(a === undefined || a === 1|| a === null) {
b=10 //fun()
return
}
//可以写成
if([undefined, 1, null].includes(a)) {
b=10 //fun()
return
}
// 判断里面只有return和一行数据------可以写成
if([undefined, 1, null].includes(a)) b=10//fun()
一些对象验证,初始到不到值,又怕报错
const obj= {
a: {
b: {
c: {
d: 10
}
}
}
}
//避免某一层级不存在导致报错
a && a.b && a.b.c && a.b.c.d
// 可选链运算符
a?.b?.c?.d
验证undefined和null
if(a === null || a === undefined) {
fun()
}
//可以写成
a ?? fun()
数字一些操作简便
var a = '10'
+a //变成数字类型
//变成整数
~~1.1 或者 1.11 | 0 -1.11 | 0 //1 1 -1
//如果是数字类型的字符串,就会转化为纯数字;
//如果字符串包含数字之外的值,就会转化为0;
//如果是布尔类型,true会返回1,false会返回0
// 获取数组最后一个元素
var arr = [1,2,3]
arr[arr.length - 1] 或者 arr.slice(-1)