几个简单js,普通写法和高逼格写法比较

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;
}

以上写法法不仅逼格高,而且代码精简很多,可以说是居司开发必备良方啊!

原文地址:https://www.cnblogs.com/garfieldzhong/p/11518931.html