js中的一些简洁语句

js中的一些简洁语句

1.通过条件判断给变量赋值布尔值的正确姿势

if(a === 'a'){
	b = true
} else {
	b = false
}

// 改成
b = a === 'a'

2.在if中判断数组长度不为零的正确姿势

if(arr.length !== 0){}

//改成
if(arr.length){}

3.使用includes简化if判断

if(a === 1 || a === 2 || a === 3 || a === 4){}

//改成 => 巧用数组方法
if([1,2,3,4].includes(a)){}

4.使用some方法判断是否有满足条件的元素

let arr = [1,3,5,7];
function isHasNum(n){
	for(let i = 0; i < arr.length; i++){
		if(arr[i] === n){
		return true;
		}
	}
	return false;
}

//改成
let arr = [1,3,5,7];
let isHasNum = (n,arr) => arr.some(num => num === n)

5.使用forEach方法遍历数组,不形成新数组

for(let i = 0; i < arr.length; i++){
	arr[i].key = 2
}

// 改成
arr.forEach(item => {
	item.key = 2
})

6.使用filter方法过滤原数组,形成新数组

let arr = [1, 3, 5, 7], newArr = []
for (let i = 0; i < arr.length; i ++) {
    if (arr[i] > 4) {
        newArr.push(arr[i])
    }
}

// 改成
let arr = [1,3,5,6];
let newArr = arr.filter(n => n > 4)

7.使用map对数组中所有元素批量处理,形成新数组

let arr = [1,3,5,7] , newArr = [];
for (let i = 0; i < arr.length; i ++) {
    newArr.push(arr[i] + 1)
}

//改成
let arr = [1,3,5,7];
let newArr = arr.map(n => n + 1) // [2,4,6,8]

8.解构对象

setForm(person){
	this.name = person.name ;
	this.age = person.age ;
}

// 改成
setForm ({name,age}){
	this.name = name ;
	this.age = age ;
}

9.解构时重命名简化命名

getForm (data){
	this.one = data.aaa_bbb_ccc_ddd;
	this.two = data.ccc_ddd_eee_fff;
}

// 改成
getForm(aaa_bbb_ccc_ddd,ccc_ddd_eee_fff){
	this.one = aaa_bbb_ccc_ddd;
	this.two = ccc_ddd_eee_fff
}

// 更优解

getForm({aaa_bbb_ccc_ddd:one,ccc_ddd_eee_fff:two}){
	this.one = one ;
	this.two = two ;
}

10.解构时设置默认值

getForm({name,age}){
	if(!age) age = 16 ;
	this.name = name ;
	this.age = age ;
}

// 改成
getForm({name ,age = 16}){
	this.name = name ;
	this.age = age ;
}

11. ||短路符设置默认值

let person ={
	name : '张三',
	age : 39
}

// 改成
let name = person.name || '张三'

12.&&短路符判断依赖的键是否存在防止报错’xxx of undfined’

let person = {
    name: '张三',
    age: 38,
    children: {
        name: '张小三'
    }
}

// 改成
let childrenName = person.children && person.childre.name

13.函数参数校验

let findStudentByAge  = (arr,age) => {
	if(!age) throw new Error('参数不能为空')
	return arr.filter(num => num === age)
}

// 改成
let checkoutType = () => {
	throw new Error('参数不能为空')
}
let findStudentByAge = (arr,age = checkoutType ()) => arr.filter(num => num === age)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值