当前位置:首页 > 科技  > 软件

JavaScript 命名约定优秀实践

来源: 责编: 时间:2024-04-11 17:32:16 267观看
导读1. 变量的命名约定JavaScript 变量名称是区分大小写的,大写和小写字母是不同的。比如:let DogName = 'Scooby-Doo';let dogName = 'Droopy';let DOGNAME = 'Odie';console.log(DogName); // "Scooby-Doo"console.log(

gAB28资讯网——每日最新资讯28at.com

1. 变量的命名约定

JavaScript 变量名称是区分大小写的,大写和小写字母是不同的。比如:gAB28资讯网——每日最新资讯28at.com

let DogName = 'Scooby-Doo';let dogName = 'Droopy';let DOGNAME = 'Odie';console.log(DogName);   // "Scooby-Doo"console.log(dogName);   // "Droopy"console.log(DOGNAME);   // "Odie"

但是,最推荐的声明 JavaScript 变量的方法是使用驼峰式变量名。我们可以对JavaScript 所有类型的变量使用驼峰式命名约定,这样就不会相同命名的变量。gAB28资讯网——每日最新资讯28at.com

// badlet dogname = 'Droopy'; // badlet dog_name = 'Droopy'; // badlet DOGNAME = 'Droopy'; // badlet DOG_NAME = 'Droopy'; // goodlet dogName = 'Droopy';

变量的名称应该是不言自明的,并描述了储存的值。例如,如果需要一个变量来储存狗的名字,应该使用 dogName 而不是 Name,因为 dogNam 更有意义:gAB28资讯网——每日最新资讯28at.com

// badlet d = 'Droopy';// badlet name = 'Droopy';// goodlet dogName = 'Droopy';

2. 布尔值的命名约定

当定义布尔类型的变量时,应该使用is或者has作为变量的前缀。例如,如果需要一个变量来检查狗是否有主人,应该使用 hasOwner 作为变量名:gAB28资讯网——每日最新资讯28at.com

// badlet bark = false;// goodlet isBark = false;// badlet ideal = true;// goodlet areIdeal = true;// badlet owner = true;// goodlet hasOwner = true;

3. 函数的命名约定

JavaScript 中函数的名称也是区分大小写的。因为在声明函数时,推荐使用驼峰式方法来命名函数。gAB28资讯网——每日最新资讯28at.com

除此之外,推荐使用描述性名词和动词来作为前缀。例如,如果声明一个函数来获取名称,则函数名字应该是 getName:gAB28资讯网——每日最新资讯28at.com

// badfunction name(dogName, ownerName) {   return '${dogName} ${ownerName}';}// goodfunction getName(dogName, ownerName) {   return '${dogName} ${ownerName}';}

4. 常量的命名约定

JavaScript 中的常量和变量是一样的,都区分大小写,在定义常量时,推荐使用大写,因为它们是不变的变量。gAB28资讯网——每日最新资讯28at.com

const LEG = 4;const TAIL = 1;const MOVABLE = LEG + TAIL;

如果变量声明名称中包含多个单词,就应该使用 UPPER_SNAKE_CASE。gAB28资讯网——每日最新资讯28at.com

const DAYS_UNTIL_TOMORROW = 1;

5. 类的命名约定

JavaScript 中类的命名约定规则与函数非常相似,推荐使用描述性的名称来描述类的功能。gAB28资讯网——每日最新资讯28at.com

函数名和类名之间的主要区别在于类名要使用大写开头:gAB28资讯网——每日最新资讯28at.com

class DogCartoon {   constructor(dogName, ownerName) {     this.dogName = dogName;     this.ownerName = ownerName;   }}const cartoon = new DogCartoon('Scooby-Doo', 'Shaggy');

6. 组件的命名规则

JavaScript 组件广泛应用于React、Vue等前端框架中。组件的命名建议与类保持一致,使用开头大写的驼峰式命名法:gAB28资讯网——每日最新资讯28at.com

// badfunction dogCartoon(roles) {   return (     <div>       <span> Dog Name: { roles.dogName } </span>       <span> Owner Name: { roles.ownerName } </span>     </div>   );} // goodfunction DogCartoon(roles) {   return (     <div>       <span> Dog Name: { roles.dogName } </span>       <span> Owner Name: { roles.ownerName } </span>     </div>   );}

由于组件的命名开头字母是大写,因此在使用时,就很容易和HTML、属性值等区分开来:gAB28资讯网——每日最新资讯28at.com

<div>   <DogCartoon     roles={{ dogName: 'Scooby-Doo', ownerName: 'Shaggy' }}   /></div>

7. 方法的命名约定

这里说的方法指的是类中方法,在 JavaScript 中,类的方法和函数的结构是非常类似的,因此,命名约定规则也是一样的。gAB28资讯网——每日最新资讯28at.com

推荐需要使用驼峰式方法来声明 JavaScript 方法,并使用动词作为前缀,使方法名称更有意义:gAB28资讯网——每日最新资讯28at.com

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"

8. 私有函数的命名约定

下划线 (_) 在 MySQL 和 PHP 等语言中广泛用于定义变量、函数和方法。但在 JavaScript 中,下划线用于表示私有变量或函数。gAB28资讯网——每日最新资讯28at.com

例如,有一个私有函数名 toonName,则可以通过添加下划线作为前缀 (_toonName) 来将其表示为私有函数。gAB28资讯网——每日最新资讯28at.com

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'); // goodconst name = cartoon.name;console.log(name);   // "Scooby-Doo Shaggy" // badname =cartoon._toonName(cartoon.dogName, cartoon.ownerName);console.log(name);   // "Scooby-Doo Shaggy"

9. 全局变量的命名约定

对于 JavaScript 全局变量,没有特定的命名标准。建议对可变全局变量使用驼峰式大小写的方式,对不可变全局对象使用大写gAB28资讯网——每日最新资讯28at.com

10. 文件名的命名约定

大多数 Web 服务器(Apache、Unix)在处理文件时都区分大小写。例如,flower.jpg 和 Flower.jpg 是不一样的。gAB28资讯网——每日最新资讯28at.com

但是,如果从不区分大小写的服务器切换到区分大小写的服务器,即使是一个小错误也可能导致网站崩溃。gAB28资讯网——每日最新资讯28at.com

因此,尽管它们是支持区分大小写的,建议在所有服务器中还是使用小写来命名文件。gAB28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-82954-0.htmlJavaScript 命名约定优秀实践

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Redis Pipelining 底层原理分析及实践

下一篇: 简单易用的.NET免费开源RabbitMQ操作组件EasyNetQ

标签:
  • 热门焦点
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • 官方承诺:K60至尊版将会首批升级MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版将会搭载天玑9200+处理器和独显芯片X7的同时,Redmi给出了官方承诺,K60至尊重大更新首批升级,会首批推送MIUI 15。也就是说虽然
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 疑似小米14外观设计图曝光:后置相机模组变化不大

    下半年的大幕已经开启,而谁将成为下半年手机圈的主角就成为了大家关注的焦点,其中被传有望拿下新一代骁龙8 Gen3旗舰芯片的小米14系列更是备受大家瞩
  • 超闭合精工铰链 彻底消灭缝隙 三星Galaxy Z Flip5与Galaxy Z Fold5发布

    2023年7月26日,三星电子正式发布了Galaxy Z Flip5与Galaxy Z Fold5。三星新一代折叠屏手机采用超闭合精工铰链,让折叠后的缝隙不再可见。同时,配合处
  • iQOO 11S评测:行业唯一的200W标准版旗舰

    【Techweb评测】去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,该机不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞
Top