文章插图
count变量已定义,但尚未使用值初始化 。JavaScript隐式赋值给它 undefined 。
访问不存在的属性 hero.city时,也会返回 undefined 。
为什么直接使用 undefined是一个不好习惯?因为与 undefined进行比较时,你正在处理未初始化状态的变量 。
变量、对象属性和数组在使用前必须用值初始化
JS 提供了很多避免与 undefined进行比较方式 。
判断属性是否存在
文章插图
对象的默认属性
文章插图
默认函数参数
文章插图
null是一个缺失对象的指示符 。应该尽量避免从函数返回 null,特别是使用 null作为参数调用函数 。
一旦 null出现在调用堆栈中,就必须在每个可能访问 null的函数中检查它的存在,这很容易出错 。
文章插图
尝试编写不涉及 null的代码 。可替代方法是 try/catch机制,默认对象的使用 。
5. 不要使用随意的编码风格,执行一个标准
有什么比阅读具有随机编码风格的代码更令人生畏的事情?你永远不知道会发生什么!
如果代码库包含许多开发人员的不同编码风格,该怎么办?,这种就像各色人物涂鸦墙 。
文章插图
整个团队和应用程序代码库都需要相同的编码风格,它提高了代码的可读性 。
一些有用的编码风格的例子:
- Airbnb JS 风格指南
- 谷歌 JS 风格指南
我自己总说:保持代码不变,以后再更新它,但是“以后”意味着永远不会 。
这里建议使用 eslint 来规范编码风格 。
- 安装eslint
- 使用最适合自己的编码风格配置 eslint
- 设置一个预提交钩子,在提交之前运行eslint验证 。
JavaScript是一种宽容的语言,具有很大的灵活性 。但是你必须注意你所使用的特性 。这里建议是避免使用隐式类型转换, undefined 和 null。
现在这种语言发展得相当快 。找出复杂的代码,并使用最新 JS 特性来重构 。
整个代码库的一致编码风格有益于可读性 。良好的编程技能总是一个双赢的解决方案 。
【JS 的5个不良编码习惯,现在就改掉吧】
推荐阅读
- 如何正确的使用HTML的列表和表单
- 世界上已知的活得最久的生物
- 谷歌SEO中的常见术语词汇解释
- Java开发数据库设计的14个技巧,你知道几个?
- 微服务架构下的分布式限流方案思考
- H3C交换机基本配置
- 醒面太久会怎么样 死面醒面的时间越长越好吗
- 什么是算法?如何学习算法?算法入门的学习路径
- 解密初、中、高级程序员的进化之路
- 芋头会不会难消化 芋头属于难消化食物吗