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

JavaScript 命名约定优秀实践

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

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

1. 变量的命名约定

JavaScript 变量名称是区分大小写的,大写和小写字母是不同的。比如:efT28资讯网——每日最新资讯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 所有类型的变量使用驼峰式命名约定,这样就不会相同命名的变量。efT28资讯网——每日最新资讯28at.com

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

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

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

2. 布尔值的命名约定

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

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

3. 函数的命名约定

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

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

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

4. 常量的命名约定

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

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

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

const DAYS_UNTIL_TOMORROW = 1;

5. 类的命名约定

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

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

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

6. 组件的命名规则

JavaScript 组件广泛应用于React、Vue等前端框架中。组件的命名建议与类保持一致,使用开头大写的驼峰式命名法:efT28资讯网——每日最新资讯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、属性值等区分开来:efT28资讯网——每日最新资讯28at.com

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

7. 方法的命名约定

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

推荐需要使用驼峰式方法来声明 JavaScript 方法,并使用动词作为前缀,使方法名称更有意义:efT28资讯网——每日最新资讯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 中,下划线用于表示私有变量或函数。efT28资讯网——每日最新资讯28at.com

例如,有一个私有函数名 toonName,则可以通过添加下划线作为前缀 (_toonName) 来将其表示为私有函数。efT28资讯网——每日最新资讯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 全局变量,没有特定的命名标准。建议对可变全局变量使用驼峰式大小写的方式,对不可变全局对象使用大写efT28资讯网——每日最新资讯28at.com

10. 文件名的命名约定

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 2023 年的 Node.js 生态系统

    随着技术的不断演进和创新,Node.js 在 2023 年达到了一个新的高度。Node.js 拥有一个庞大的生态系统,可以帮助开发人员更快地实现复杂的应用。本文就来看看 Node.js 最新的生
  • 一年经验在二线城市面试后端的经验分享

    忠告这篇文章只适合2年内工作经验、甚至没有工作经验的朋友阅读。如果你是2年以上工作经验,请果断划走,对你没啥帮助~主人公这篇文章内容来自 「升职加薪」星球星友 的投稿,坐
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 三万字盘点 Spring 九大核心基础功能

    大家好,我是三友~~今天来跟大家聊一聊Spring的9大核心基础功能。话不多说,先上目录:图片友情提示,本文过长,建议收藏,嘿嘿嘿!一、资源管理资源管理是Spring的一个核心的基础功能,不
  • 腾讯VS网易,最卷游戏暑期档,谁能笑到最后?

    作者:无锈钵来源:财经无忌7月16日晚,上海1862时尚艺术中心。伴随着幻象的精准命中,硕大的荧幕之上,比分被定格在了14:12,被寄予厚望的EDG战队以绝对的优势战胜了BLG战队,拿下了总决
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元&ldquo;人在职场,应该选择什么样的着装?&rdquo;近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
  • 与兆芯合作 联想推出全新旗舰版笔记本电脑开天N7系列

    联想与兆芯合作推出全新联想旗舰版笔记本电脑开天 N7系列。这个系列采用兆芯KX-6640MA处理器平台,KX-6640MA 处理器是采用了陆家嘴架构,16nm 工艺,4 核 4 线
  • 华为举行春季智慧办公新品发布会 首次推出电子墨水屏平板

    北京时间2月27日晚,华为在巴塞罗那举行春季智慧办公新品发布会,在海外市场推出之前已经在中国市场上市的笔记本、平板、激光打印机等办公产品,并首次推出搭载
Top