JS编码标准掌握后让你的代码更整洁

简介: JS编码标准掌握后让你的代码更整洁

下面的编码标准是我对上述几点有帮助的看法。

  1. 比较时使用 === 代替 ==
    这很重要,因为JavaScript是一种动态语言,因此使用==可能会给您带来意想不到的结果,因为它允许类型不同。

Fail:

if (val == 2)
Pass:

if (val === 2)

  1. 永远不要使用 var,使用 let 来代替
    使用 let 将有助于避免 JavaScript 中各种 var 引起的作用域问题。

Fail:

var myVar = 10;
Pass:

let myVar = 10;

  1. 使用 const 代替 let
    这阻止了开发人员尝试更改不应该做的事情,并且确实有助于提高可读性。

Fail:

let VAT_PERCENT = 20;
Pass:

const VAT_PERCENT = 20;

  1. 始终使用分号(;)
    尽管这在 JavaScript 中是可选的,并不像其它语言一样需要分号作为语句终止符。但是使用 ; 有助于使代码保持一致。

Fail:

const VAT_PERCENT = 20;
let amount = 10
return addVat(amount, vatPercent)
Pass:

const vatPercent = 20;
let amount = 10;
return addVat(amount, vatPercent);

  1. JavaScript中的命名约定
    let 应该使用驼峰命名。
    const 如果在文件的顶部使用大写的蛇形命名法。如果不在文件顶部,请使用驼峰命名。
    class 应该是帕斯卡命名法:MyClass
    functions 函数应该是驼峰命名法:myFunction
  2. 拼接字符串时使用模板字符串
    模板字符串中允许嵌入表达式。

Fail:

let fullName = firstName + " " + lastName;
Pass:

let fullName = ${firstName} ${lastName};

  1. 尽可能使用ES6箭头函数
    箭头函数是编写函数表达式的更简洁的语法。

Fail:

var multiply = function(a, b) {
return a* b;
};
Pass:

const multiply = (a, b) => { return a * b};

  1. 始终在控制结构周围使用大括号
    所有控制结构都必须使用花括号(例如,if,else,for,do,while等),这样后期维护时,不容易出错。

Fail:

if (valid)
doSomething();
if (amount > 100)
doSomething();
else if(amount > 200)
doSomethingElse();
Pass:

if (valid) {
doSomething();
}
if (amount > 100) {
doSomething();
}
else if(amount > 200) {
doSomethingElse();
}

  1. 确保大括号从同一行开始,中间有空格
    Fail:

if (myNumber === 0)
{
doSomething();
}
Pass:

if (myNumber === 0) {
doSomething();
}

  1. 尝试减少嵌套
    if 中嵌套if 会变得混乱并且很难阅读。有时你可能无法解决问题,但是可以好好查看代码,看看是否可以改进。

Fail:

if (myNumber > 0) {
if (myNumber > 100) {
if (!hasDiscountAlready) {
return addDiscountPercent(0);
} else {
return addDiscountPercent(10);
}
} else if (myNumber > 50) {
if (hasDiscountAlready) {
return addDiscountPercent(5);
}
} else {
if (!hasDiscountAlready) {
return addDiscountPercent(0);
} else {
return addDiscountPercent(1);
}
}
} else {
error();
}
Pass:

if (myNumber <= 0) {
return error;
}
if (!hasDiscountAlready) {
return addDiscountPercent(0);
}
if (myNumber > 100) {
return addDiscountPercent(10);
}
if (myNumber > 50) {
return addDiscountPercent(5);
}
return addDiscountPercent(1);
//代码效果参考:http://bilibili.huayi1997.com/sitemap/post.html
通过上面的示例可以看出,减少嵌套之后,会变得容易阅读。

  1. 尽可能使用默认参数
    在 JavaScript 中,如果你在调用函数时没有传递参数,则它的值就是 undefined

Fail:

myFunction(a, b) {
return a + b;
}
Pass:

myFunction(a = 0, b = 0) {
return a + b;
}

  1. Switch 语句应使用 break 并具有 default
    我通常会尝试不使用 switch 语句,但是你确实想使用它,请确保每个条件都break ,并写了 defalut。

Fail:

switch (myNumber)
{
case 10:
addDiscountPercent(0);
case 20:
addDiscountPercent(2);
case 30:
addDiscountPercent(3);
}
Pass:

switch (myNumber)
{
case 10:
addDiscountPercent(0);
break;
case 20:
addDiscountPercent(2);
break;
case 30:
addDiscountPercent(3);
break;
default:
addDiscountPercent(0);
break;
}

  1. 不要使用通配符导入
    Fail:

import * as Foo from './Foo';
Pass:

import Foo from './Foo';

  1. 使用布尔值的快捷方式
    Fail:

if (isValid === true)
if (isValid === false)
Pass:

if (isValid)
if (!isValid)

  1. 尝试避免不必要的三元语句
    Fail:

const boo = a ? a : b;
Pass:

const boo = a || b;
总结
任何语言的编码标准都可以真正帮助提高应用程序的可读性和可维护性。如果你在团队中工作

相关文章
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
36 1
怀孕b超单子在线制作,p图一键生成怀孕,JS代码装逼娱乐
模拟B超单的视觉效果,包含随机生成的胎儿图像、医疗文本信息和医院标志。请注意这仅用于前端开发学习
JS代码的一些常用优化写法
JS代码的一些常用优化写法
46 0
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
247 9
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
234 11
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
252 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【通义灵码】三句话生成P5.js粒子特效代码,人人都可以做交互式数字艺术
我发掘出的通义灵码AI程序员新玩法:三句话生成P5.js粒子特效代码,人人都可以做交互式数字艺术
228 6
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
139 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问