从ESLint代码规范检验反向学习写代码(持续更新)
从ESLint代码规范检验反向学习写代码(持续更新)
1. Javascript
1.1 no-prototype-builtins
错误方式
obj.hasOwnProperty('name')
说明
直接调用是不安全的,当恶意对象为{hasOwnProperty: 1}
时,此代码执行会崩溃。
正确方式
Object.prototype.hasOwnProperty.call(obj, 'name')
2. Vue
2.1 'v-model' directives require the attribute value which is valid as LHS.(vue/valid-v-model)
错误方式
说明
v-model
绑定的是真实的数据来源,上面的错误写法,vue
会悄悄在响应式对象上生成这样一个奇怪的属性
正确方式
export default {
data () {
return {
tmp: false,
editObj: {
extendInfo: {
shape: "circle"
}
}
}
},
watch: {
"editObj.extendInfo.shape": function (value) {
if (value === "circle") tmp = true;
else tmp = false;
// v-model="tmp"
}
}}