javascript 少写 if else 语句
程序员文章站
2024-01-06 11:26:40
...
javascript 少写 if else 语句
例(1)对于 boolean 值
//比如返回一个 boolean 值 bool
if (bool) {
a = 1;
} else {
a = 2;
}
//简写:
a = bool ? 1 : 2
例(2):
if (bool) {
a = fn()
}
//简写
bool && (a=fn())
例(3):
if(!bool) {
a=fn()
}
//简写
bool || (a=fn())
例(4):
if(b===1){
a = 'one';
} else if (b===2) {
a = 'two';
} else {
return '';
}
//简写
let res = {1:'one',2:'two'}
a = res[key] ? res[key] : '';
例(5):
function fn(a){
if(a==='x'){
doX();
}else if(a==='y'){
doY();
}else{
doZ();
}
}
//简单
function fn(a){
let lookup={x:doX:y:doY},def=doZ;
lookup[a] ? lookup[a]() : def();
}
例(6):
let dbHost;
if (process.env.DB_HOST) {
dbHost = process.env.DB_HOST;
} else {
dbHost = 'localhost';
}
//const dbHost = process.env.DB_HOST || 'localhost';
例(7):
!!'foo' // 强制转换为 Boolean类型
+'45' // 转化为 number 类型
(~~(Math.random()*(1<<24))).toString(16) //随机颜色