最近工作遇到的些问题总结下希望能帮助到大家
- 关于es6数组的解构
可以设置默认值来进行数据判空避免报错
let array=[ [1],[2,3],[4]]
let [ res1,res2=[],res3=[] ]= array
console.log(res1,res2,res3)
//[ 1 ] [ 2, 3 ] [ 4 ]
array=[ [1]]
let [ res1,res2=[],res3=[] ]=array
console.log(res1,res2,res3)
//[ 1 ] [] []
- js换行符的问题
我在工作时拿到了别人写的一串代码
//res2 res3 均是数组
let list = (res2 || []).map((item) => {
return {
...item,
type: "sos",
};
})
(res3 || []).forEach((item) => {
list.push({
...item,
type: this.type,
});
})
this.$emit('drawPoint',list)
结果却显示报错显示
(...) res2 is not a function //大概就是这么个意思
但是打印
console.log(typeof(res2)) //结果是Object
产生这种问题的原因是小括号在JavaScript中不被看作是换行符,因此需要在第一个map函数后加一个分号,这样就能解决问题了,划重点编写代码时一定要有好习惯。但是真的懒不想写怎么办,其实可以改vscode中的配置文件让你每一次Ctrl+s保存之后自动格式化代码格式,具体请自行百度。