宁波免费建站,微信运营有前途吗,长沙好的网站建设公司,WordPress手机站插件1、单行 If-Else 语句
这是许多编程语言的共同特征。你可以使用三元运算符用一行代码编写整个语句#xff0c;而不是在多行上编写 if-else。
const age 12;
let ageGroup;// LONG FORM
if (age 18) {ageGroup An adult;
} else {ageGroup A child…1、单行 If-Else 语句
这是许多编程语言的共同特征。你可以使用三元运算符用一行代码编写整个语句而不是在多行上编写 if-else。
const age 12;
let ageGroup;// LONG FORM
if (age 18) {ageGroup An adult;
} else {ageGroup A child;
}// SHORTHAND
ageGroup age 18 ? An adult : A child;
但是不要过度使用它。它会使你的代码更加冗长。明智的做法是仅用此替换简单的表达式以提高可读性并减少代码行数。
2、从数组中删除重复项
在 JavaScript 中Set 是一个集合它允许你仅存储唯一值。这意味着删除任何重复的值。
因此要从数组中删除重复项你可以将其转换为集合然后再转换回数组。
const numbers [1, 1, 20, 3, 3, 3, 9, 9];
const uniqueNumbers [...new Set(numbers)]; // - [1, 20, 3, 9]
困惑吗让我解释一下它是如何工作的
1)、new Set(numbers)从数字列表中创建一个集合。创建集合会自动删除所有重复值。
2、展开运算符...将任何可迭代对象转换为数组。这意味着将集合转换回数组。[...new Set(numbers)]
3、 较短的 If-Else 的空合并
这也是 if-else 的简写。
你可以使用看涨合并而不是使用 if-else 构造来检查值是否为空。该nullish合并操作 ??如果没有定义左侧返回右侧。如果是则返回左侧
let maybeSomething;// LONG FORM
if(maybeSomething){console.log(maybeSomething)
} else {console.log(Nothing found)
}//SHORTHAND
console.log(maybeSomething ?? Nothing found)
4、防止崩溃的可选链
如果访问未定义的属性则会产生错误。这就是可选链的用武之地。
在未定义属性时使用可选链运算符undefined将返回而不是错误。这可以防止你的代码崩溃。
const student {name: Matt,age: 27,address: {state: New York},
};// LONG FORM
console.log(student student.address student.address.ZIPCode); // Doesnt exist - Returns undefined// SHORTHAND
console.log(student?.address?.ZIPCode); // Doesnt exist - Returns undefined
5、在没有第三个变量的情况下交换两个变量
在 JavaScript 中你可以使用解构从数组中拆分值。这可以应用于交换两个变量而无需第三个
let x 1;
let y 2;// LONGER FORM
let temp x;
x y;
y temp;// SHORTHAND
[x, y] [y, x];
6、将任何值转换为布尔值
在 JavaScript 中你可以使用 !! 在 JS 中将任何内容转换为布尔值。
!!true // true
!!2 // true
!![] // true
!!Test // true!!false // false
!!0 // false
!! // false
7、扩展运算符
使用扩展运算符组合两个数组...
const nums1 [1, 2, 3];
const nums2 [4, 5, 6];// LONG FORM
let newArray nums1.concat(nums2);// SHORTHAND
newArray [...nums1, ...nums2];
也可以使用此语法代替将值推送到数组
let numbers [1, 2, 3];// LONGER FORM
numbers.push(4);
numbers.push(5);// SHORTHAND
numbers [...numbers, 4, 5];8、传播解构
使用扩展运算符将剩余元素分配给变量
const student {name: Matt,age: 23,city: Helsinki,state: Finland,
};// LONGER FORM
const name student.name;
const age student.age;
const address { city: student.city, state: student.state };// SHORTHAND
const { name, age, ...address } student;9、 使用 进行短路评估
不必用if语句检查某事是否为真你可以使用运算符
var isReady true;function doSomething(){console.log(Yay!);
}// LONGER FORM
if(isReady){doSomething();
}// SHORTHAND
isReady doSomething();10、类固醇的字符串
通过将字符串包装在反引号内并${}用于嵌入值从而在字符串之间插入变量。
const age 41;
const sentence Im ${age} years old;// result: Im 41 years old11、 从数组中查找特定元素
使用find()方法查找匹配特定条件的元素
const fruits [{ type: Banana, color: Yellow },{ type: Apple, color: Green }
];// LONGER FORM
let yellowFruit;
for (let i 0; i fruits.length; i) {if (fruits[i].color Yellow) {yellowFruit fruits[i];}
}// SHORTHAND
yellowFruit fruits.find((fruit) fruit.color Yellow);12、对象属性赋值
你是否希望对象键与值具有相同的名称你可以省略对象文字来执行此操作
const name Luis, city Paris, age 43, favoriteFood Spaghetti;// LONGER FORM
const person {name: name,city: city,age: age,favoriteFood: favoriteFood
};// SHORTHAND
const person { name, city, age, favoriteFood };13、压缩 For 循环
使用内置forEach()方法通过一行代码循环遍历数组
const numbers [1, 2, 3, 4, 5];// LONGER FORM
for(let i 0; i numbers.length; i){console.log(numbers[i]);
}// SHORTHAND
numbers.forEach(number console.log(number));14、 默认功能参数
你可以为函数参数提供默认值
// LONG FORM
function pickUp(fruit) {if(fruit undefined){console.log(I picked up a Banana);} else {console.log(I picked up a ${fruit});}
}// SHORTHAND
function pickUp(fruit Banana) {console.log(I picked up a ${fruit})
}pickUp(Mango); // - I picked up a Mango
pickUp(); // - I picked up a Banana15、将对象的值收集到数组中
用于Object.values()将对象的所有值收集到一个新数组中
const info { name: Matt, country: Finland, age: 35 };// LONGER FORM
let data [];
for (let key in info) {data.push(info[key]);
}// SHORTHAND
const data Object.values(info);16、检查一个项目是否存在于数组中
这不一定是速记因为你几乎不会保存几个字符。但这是一种更清洁的方法。
你可以使用 includes() 方法而不是使用 indexOf() 方法来检查元素是否在数组中。这使你的意图非常明确
let numbers [1, 2, 3];// LONGER FORM
const hasNumber1 numbers.indexOf(1) -1 // - True// SHORTHAND/CLEANER APPROACH
const hasNumber1 numbers.includes(1) // - True17、压缩多个条件
避免使用长|| 检查多个条件链你可以使用你刚刚在上一个技巧中学到的东西——即使用 includes() 方法
const num 1;// LONGER FORM
if(num 1 || num 2 || num 3){console.log(Yay);
}// SHORTHAND
if([1,2,3].includes(num)){console.log(Yay);
}18、 指数运算符
你Math.pow()习惯把一个数字提高到一个幂吗你知道你也可以使用**运算符吗
// LONGER FORM
Math.pow(4,2); // 16
Math.pow(2,3); // 8// SHORTHAND
4**2 // 16
2**3 // 819、 Math.floor() 简写
四舍五入Math.floor()并不是什么新鲜事。但是你知道你也可以使用~~运算符吗
// LONG FORM
Math.floor(5.25) // - 5.0// SHORTHAND
~~5.25 // - 5.020、 用一行代码分配多个值
使用解构语法在一行中分配多个值
let num1, num2;// LONGER FORM
num1 10;
num2 100;// SHORTHAND
[num1, num2] [10, 100];这也适用于使用 JavaScript 对象
student {name: Matt,age: 29,
};// LONGER FORM
let name student.name;
let age student.age;// SHORTHAND
let { name, age } student;
最后为了方便大家的沟通与交流请加QQ群 625787746
请进QQ群交流【IT博客技术分享群①】https://jq.qq.com/?_wv1027kDceI0140 文章转载自: http://www.morning.dkfb.cn.gov.cn.dkfb.cn http://www.morning.xllrf.cn.gov.cn.xllrf.cn http://www.morning.brlcj.cn.gov.cn.brlcj.cn http://www.morning.fxzgw.com.gov.cn.fxzgw.com http://www.morning.yqtry.cn.gov.cn.yqtry.cn http://www.morning.lywpd.cn.gov.cn.lywpd.cn http://www.morning.wfbs.cn.gov.cn.wfbs.cn http://www.morning.fxzw.cn.gov.cn.fxzw.cn http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn http://www.morning.diuchai.com.gov.cn.diuchai.com http://www.morning.rdlong.com.gov.cn.rdlong.com http://www.morning.hsgxj.cn.gov.cn.hsgxj.cn http://www.morning.gthgf.cn.gov.cn.gthgf.cn http://www.morning.xsgxp.cn.gov.cn.xsgxp.cn http://www.morning.nbiotank.com.gov.cn.nbiotank.com http://www.morning.lddpj.cn.gov.cn.lddpj.cn http://www.morning.yrsg.cn.gov.cn.yrsg.cn http://www.morning.xstfp.cn.gov.cn.xstfp.cn http://www.morning.qjldz.cn.gov.cn.qjldz.cn http://www.morning.rdxnt.cn.gov.cn.rdxnt.cn http://www.morning.tralution.cn.gov.cn.tralution.cn http://www.morning.fhjnh.cn.gov.cn.fhjnh.cn http://www.morning.lxbml.cn.gov.cn.lxbml.cn http://www.morning.rbhcx.cn.gov.cn.rbhcx.cn http://www.morning.gqcd.cn.gov.cn.gqcd.cn http://www.morning.ylzdx.cn.gov.cn.ylzdx.cn http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn http://www.morning.xbckm.cn.gov.cn.xbckm.cn http://www.morning.zxznh.cn.gov.cn.zxznh.cn http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn http://www.morning.fthcq.cn.gov.cn.fthcq.cn http://www.morning.hnrls.cn.gov.cn.hnrls.cn http://www.morning.tcxk.cn.gov.cn.tcxk.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.qmnjn.cn.gov.cn.qmnjn.cn http://www.morning.nmbbt.cn.gov.cn.nmbbt.cn http://www.morning.jfjfk.cn.gov.cn.jfjfk.cn http://www.morning.rnpt.cn.gov.cn.rnpt.cn http://www.morning.bdzps.cn.gov.cn.bdzps.cn http://www.morning.darwallet.cn.gov.cn.darwallet.cn http://www.morning.kpcky.cn.gov.cn.kpcky.cn http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn http://www.morning.fmqng.cn.gov.cn.fmqng.cn http://www.morning.rmryl.cn.gov.cn.rmryl.cn http://www.morning.qzpkr.cn.gov.cn.qzpkr.cn http://www.morning.mlgsc.com.gov.cn.mlgsc.com http://www.morning.ynlpy.cn.gov.cn.ynlpy.cn http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.mcpdn.cn.gov.cn.mcpdn.cn http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn http://www.morning.bzgpj.cn.gov.cn.bzgpj.cn http://www.morning.xsklp.cn.gov.cn.xsklp.cn http://www.morning.jqswf.cn.gov.cn.jqswf.cn http://www.morning.mpscg.cn.gov.cn.mpscg.cn http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn http://www.morning.ywpwg.cn.gov.cn.ywpwg.cn http://www.morning.drpbc.cn.gov.cn.drpbc.cn http://www.morning.qsmch.cn.gov.cn.qsmch.cn http://www.morning.rxsgk.cn.gov.cn.rxsgk.cn http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com http://www.morning.nmfxs.cn.gov.cn.nmfxs.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.ktrh.cn.gov.cn.ktrh.cn http://www.morning.ndcjq.cn.gov.cn.ndcjq.cn http://www.morning.zzgtdz.cn.gov.cn.zzgtdz.cn http://www.morning.ldzxf.cn.gov.cn.ldzxf.cn http://www.morning.tkflb.cn.gov.cn.tkflb.cn http://www.morning.xqspn.cn.gov.cn.xqspn.cn http://www.morning.zypnt.cn.gov.cn.zypnt.cn http://www.morning.qngcq.cn.gov.cn.qngcq.cn http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn http://www.morning.ffdyy.cn.gov.cn.ffdyy.cn http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn http://www.morning.brwp.cn.gov.cn.brwp.cn http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn http://www.morning.kgphd.cn.gov.cn.kgphd.cn http://www.morning.mcbqq.cn.gov.cn.mcbqq.cn http://www.morning.zrkp.cn.gov.cn.zrkp.cn