2021-10-10 代码检查

226 阅读3分钟

1、取值优化

我们现在的取值方法大部分伙伴们使用的是 . 用点去取值

吐槽:

这个只用了一半

改进:

ES6解构赋值给我们更优雅的取值方法:


getEms().then(({ data: { data: data }} = []) => {

    this.options = data

    this.search.items[1].options = data

})

补充:

解构赋值是很好用的,但是不能对undefined,null进行解构,这也会抛出异常的!

所以我们在解构的过程中可以加上一个默认值!


const { systemId } = row || {}

2、console.log()文明使用

吐槽:

这是啥?打印个寂寞!

改进:

无用的console.log(),升级正式环境的使用,需要删除掉,或者屏蔽,加上注释!

其实console远不止这一个方法,掌握好用的方法,能让我们再开发的过程中,事半功倍!

JavaScript Console 对象 菜鸟教程 (runoob.com)

3、ES6模板字符串优化使用

吐槽:

像我们这样用ES6字符串模板,还不如不用。这和用+直接拼接有什么区别?

改进:

不要忘记了,在ES6模板字符串内是可以使用JS的任何语法的,支持任何JS语句!

可以直接取数组里面的值,少两行代码还是很香的。


openDetail(row) {

const { systemId } = row || {}

const paramUrl = `?systemId=${systemId}`

const { model: { planDateList: planDateList }} = this.search

const paramsDate = `&planStart=${planDateList[0]}&planEnd=${planDateList[1]} `

window.open(`/web-zhwg-net-analyse/views/trusteeship-detail.html${paramUrl}${paramsDate}`)

}

吐槽:

有的用模板字符串,有的不用,没搞懂!全部改成模板字符串!

4、数组使用优化

吐槽:

可以省下两行代码,就可以必须要去省

改进:


planDateInit() {

const date = new Date().pattern('yyyy-MM-dd')

this.search.model.planDateList = [date, date]

}

吐槽:

写代码可以多想想,平时多看看JS常用类型的方法。

下面的典型例子,取数组对象里面的值,逗号拼接字符串

改进:

用数组的map和join方法,两行代码搞定


let staffNames = rows.map(({ staffName }) => { return staffName }).join(',')

let mobileNumbers = rows.map(({ mobileNumber }) => { return mobileNumber }).join(',')

5、Object使用优化

吐槽:

ES6的扩展运算符是不是忘了,不比assign香吗?😊

改进:

const param = queryFormData || this.search.model

const data = { ...param, page: pageNo, pageSize: pageSize }

6、KT.ajax方法使用优化

吐槽:

无须判断是否等于200,因为没有不是200根本过不来!

7、判空优化

吐槽:

等于空,取空。这样没有意义。

改进:

如果是要判空,可以使用ES6新出的空值合并操作符,如果左侧变量不为null、undefined,就取左侧数据,否则取操作符右侧变量数据

let planStart = ''

planStart = planStart ?? urlParam.planStart

吐槽:

人都判断麻了,是不是!小老弟。

这样也没有判断完全,还要判断是否为空字符串。

这人都判断傻了,以下:

改进:

使用空值合并操作符,就很简单了


if (networkLevelRow ?? '' !== '') {}

rows[0].sendGglValue ?? rows[0].sendGglStandardValue

8、关于CSS样式问题的优化

吐槽:

样式一般不用style直接写在DOM元素上面,用一个文件类型叫做CSS,所有样式放CSS文件中,这也也好维护,也好复用

9、vue常用指令,优化

吐槽:

这v-if压力也太大了,比有房贷车贷压力还要大,也不便于代码维护,而且明显可以复用。

改进:

把判断方法抽出来,不要写在DOM元素里面

10、后续

此外以上的整理内容有误的地方,欢迎在评论中指正,万分感谢。

读完有帮助,不妨关注一下,点个赞支持一下。