类型转换
!! = Boolean()~~ = ParseInt()+ = ParseFloat()
应用includes代替indexOf
Array.prototype.includes曾经被绝大多数浏览器反对,受制于之前浏览器兼容性的影响,许多身边的共事仍然习惯应用indexOf,但includes更加体现代码的语义化。
var arr = [1,2,3,4]console.log(arr.indexOf(2) >= 0)console.log(!!~arr.indexOf(2))console.log(arr.includes(2))
reduce的用途
在与后端的数据交互中,后端开发往往不能提供对于前端十分理想化的数据,列表尤为显著,Array.prototype.reduce能够比拟不便的格式化须要的数据
以前的代码
var arr = []const { data = [] } = resultdata.forEach(item => { if (xxx) { arr.push({ xxx: item.xxx, ..... }) }})retrun arr
应用reduce
const { data = [] } = resultconst arr = data.reduce((prev, curr) => { if (curr.xxx) { prev.push({ xxx: curr.xxx, ..... }) } return prev}, [])return arr