聊聊JavaScript命名约定优秀实践
作者:CUGGZ
在开发过程中,遵循标准的命名约定可以提高代码的可读性。下面就来看看 JavaScript 中命名约定的最佳实践。 1. 变量的命名约定
JavaScript 变量名称是区分大小写的,大写和小写字母是不同的。比如: let DogName = "Scooby-Doo"; let dogName = "Droopy"; let DOGNAME = "Odie"; console.log(DogName); // "Scooby-Doo" console.log(dogName); // "Droopy" console.log(DOGNAME); // "Odie"1.2.3.4.5.6.
但是,最推荐的声明 JavaScript 变量的方法是使用驼峰式变量名。我们可以对JavaScript 所有类型的变量使用驼峰式命名约定,这样就不会相同命名的变量。// bad let dogname = "Droopy"; // bad let dog_name = "Droopy"; // bad let DOGNAME = "Droopy"; // bad let DOG_NAME = "Droopy"; // good let dogName = "Droopy";1.2.3.4.5.6.7.8.9.10.
变量的名称应该是不言自明的,并描述了储存的值。例如,如果需要一个变量来储存狗的名字,应该使用 dogName 而不是 Name,因为 dogNam 更有意义:// bad let d = "Droopy"; // bad let name = "Droopy"; // good let dogName = "Droopy";1.2.3.4.5.6.2. 布尔值的命名约定
当定义布尔类型的变量时,应该使用is或者has作为变量的前缀。例如,如果需要一个变量来检查狗是否有主人,应该使用 hasOwner 作为变量名:// bad let bark = false; // good let isBark = false; // bad let ideal = true; // good let areIdeal = true; // bad let owner = true; // good let hasOwner = true;1.2.3.4.5.6.7.8.9.10.11.12.13.14.3. 函数的命名约定
JavaScript 中函数的名称也是区分大小写的。因为在声明函数时,推荐使用驼峰式方法来命名函数。
除此之外,推荐使用描述性名词和动词来作为前缀。例如,如果声明一个函数来获取名称,则函数名字应该是 getName:// bad function name(dogName, ownerName) { return "${dogName} ${ownerName}"; } // good function getName(dogName, ownerName) { return "${dogName} ${ownerName}"; }1.2.3.4.5.6.7.8.9.4. 常量的命名约定
JavaScript 中的常量和变量是一样的,都区分大小写,在定义常量时,推荐使用大写,因为它们是不变的变量。const LEG = 4; const TAIL = 1; const MOVABLE = LEG + TAIL;1.2.3.
如果变量声明名称中包含多个单词,就应该使用 UPPER_SNAKE_CASE。const DAYS_UNTIL_TOMORROW = 1;1.2.5. 类的命名约定
JavaScript 中类的命名约定规则与函数非常相似,推荐使用描述性的名称来描述类的功能。
函数名和类名之间的主要区别在于类名要使用大写开头:class DogCartoon { constructor(dogName, ownerName) { this.dogName = dogName; this.ownerName = ownerName; } } const cartoon = new DogCartoon("Scooby-Doo", "Shaggy");1.2.3.4.5.6.7.8.6. 组件的命名规则
JavaScript 组件广泛应用于React、Vue等前端框架中。组件的命名建议与类保持一致,使用开头大写的驼峰式命名法:// bad function dogCartoon(roles) { return ( Dog Name: { roles.dogName } Owner Name: { roles.ownerName } ); } // good function DogCartoon(roles) { return ( Dog Name: { roles.dogName } Owner Name: { roles.ownerName } ); }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.
由于组件的命名开头字母是大写,因此在使用时,就很容易和HTML、属性值等区分开来: 1.2.3.4.5.7. 方法的命名约定
这里说的方法指的是类中方法,在 JavaScript 中,类的方法和函数的结构是非常类似的,因此,命名约定规则也是一样的。
推荐需要使用驼峰式方法来声明 JavaScript 方法,并使用动词作为前缀,使方法名称更有意义:class DogCartoon { constructor(dogName, ownerName) { this.dogName = dogName; this.ownerName = ownerName; } getName() { return "${this.dogName} ${this.ownerName}"; } } const cartoon= new DogCartoon("Scooby-Doo", "Shaggy"); console.log(cartoon.getName()); // "Scooby-Doo Shaggy"1.2.3.4.5.6.7.8.9.10.11.12.13.14.8. 私有函数的命名约定
下划线 (_) 在 MySQL 和 PHP 等语言中广泛用于定义变量、函数和方法。但在 JavaScript 中,下划线用于表示私有变量或函数。
例如,有一个私有函数名 toonName,则可以通过添加下划线作为前缀 (_toonName) 来将其表示为私有函数。class DogCartoon { constructor(dogName, ownerName) { this.dogName = dogName; this.ownerName = ownerName; this.name = _toonName(dogName, ownerName); } _toonName(dogName, ownerName) { return `${dogName} ${ownerName}`; } } const cartoon = new DodCartoon("Scooby-Doo", "Shaggy"); // good const name = cartoon.name; console.log(name); // "Scooby-Doo Shaggy" // bad name =cartoon._toonName(cartoon.dogName, cartoon.ownerName); console.log(name); // "Scooby-Doo Shaggy"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.9. 全局变量的命名约定
对于 JavaScript 全局变量,没有特定的命名标准。建议对可变全局变量使用驼峰式大小写的方式,对不可变全局对象使用大写。10. 文件名的命名约定
大多数 Web 服务器(Apache、Unix)在处理文件时都区分大小写。例如,flower.jpg 和 Flower.jpg 是不一样的。
但是,如果从不区分大小写的服务器切换到区分大小写的服务器,即使是一个小错误也可能导致网站崩溃。
因此,尽管它们是支持区分大小写的,建议在所有服务器中还是使用小写来命名文件。
苹果隐私空白(ATT)发布,预估损失128亿营收,还发布DLSS?IOS系统即将更新隐私空白(ATT),该功能共计有12项能力,会阻止各个APP向用户索取隐私信息,而这一行为会使得广告主损失巨大,预估YouTubedouyinMeta等一众软件总
上海复工复产!59家半导体企业入保运转白名单半导体分析赵工半导体工程师2022041811264月16日,上海经信委发布上海市工业企业复工复产疫情防控指引(第一版)(下称指引)。指引提出五大方面21条措施,强调在确保风险可控
java八股文(值得收藏)Java基础1。String和StringBuffer和StringBuilder的区别?2。sleep()区间wait()区间有什么区别?3。Object中有哪些方法?其中clo
从拿捏不定到落子荣耀Magic4,深度体验一周之后,这些话不吐不快旧手机用了两年多,让我动了换手机的心思。打算在春季换手机的我,似乎赶上了一波新机潮,但也让我挑得眼花缭乱。正在我拿捏不定的时候,看到网上有消息说,荣耀Magic4标准版的销量是同档
2022年Q1全球智能手机出货量排名市场调研机构(Canalys)近日公布了2022年第一季度全球智能手机出货量情况由于疫情及战争等多重原因,导致全球的经济状况都欠佳,智能手机的出货量接连下降,而这个季度下降了11。
静音冰箱什么牌子好?想要买静音冰箱先看他的压缩机,压缩机好,动力就好,制冷就好,声音还低。比如,TCL最新发布的精厨系列冰箱R426P10B,静音效果就非常不错,运行的时候几乎感觉不到声音,官方数据只
GoHTTP何时才会复用TCP连接几乎每个IT的同学都知道HTTP底层是TCP,也知道多个HTTP请求可以复用一个TCP连接,但究其细节又不甚了解。那么HTTP请求何时才能复用一个TCP连接呢?我们先做个例子fun
留意!明起,支付宝有重要变化4月21日起,支付宝有些重要变化。网商银行发布网商银行类账户相关业务调整及福利金升级公告。自2022年4月21日起,网商银行将逐步暂停支付宝提现或转入网商银行类账户相关业务,同时网
马斯克我的所有公司都是慈善事业美国亿万富翁埃隆马斯克(ElonMusk)周一表示,他创立或经营的所有公司都是慈善事业,因为它们寻求为人类创造更美好的未来。马斯克是在周一发布的与TED大会组织者克里斯安德森(Ch
微软宣布一年内将放弃对Office2013的支持财经网科技4月19日讯,据新浪科技消息,微软官方发布声明,宣布将在2023年4月11日停止对Office2013的支持,不再为其提供任何安全更新。微软称,停止支持并不意味着Offi
小米上新米家双刷无线拖地机众筹,899元4月20日消息,在今日小米官方商城众筹界面上新了一款全新产品,米家双刷无线拖地机,根据页面信息显示,这一款产品日常售价定为999元,目前众筹价为899元。据了解,米家双刷无线拖地机