ECMAScript-262 @2023版本中的关键字和保留字

1、什么是标识符?

所谓标识符,就是javascript里的变量、函数、属性或函数参数的名称,可由一个或多个字符组成,当然标识符有命名规范

  • 标识符第一个字符必须是 一个字母、下划线(_)或美元符号($)
  • 其他字符则可以是字母、下划线、美元符号或数字

    即:数字不能作为第一个字符

按照惯例,js标识符采用小驼峰命名方式,虽然这种方式不强制,但这种形式和ECMAScript内置函数和对象命名一致,所以算是最佳实践,比较推荐采用小驼峰命名方式

注意:ECMAScript严格区分大小写, example 和 Example是两个标识符,typeof是关键字,Typeof则不是

2、关键字

ECMA-262的关键字,用作特殊用途,关键字不能用作标识符或属性名

根据ECMAScript-262最后更新的2023年版本

 

规定的关键字如下: 

  1. await
  2. break
  3. case
  4. catch
  5. class
  6. const
  7. continue
  8. debugger
  9. default
  10. delete
  11. do
  12. else
  13. export
  14. extents
  15. false
  16. finally
  17. for
  18. function
  19. if
  20. import
  21. in
  22. instanceof
  23. new
  24. null
  25. return
  26. super
  27. switch
  28. this
  29. throw
  30. true
  31. try
  32. typeof
  33. var
  34. void
  35. while
  36. with
  37. yield

3、保留字

保留字是保留给未来用作关键字的,所以同样不能用作标识符或属性名

  • 始终保留: enum
  • 严格模式下保留: implements 、interface、 let、package、protected、private、public、static

argument 和 eval 不是关键字或保留字,但它们在严格模式代码中受到一些限制。所以也不建议使用

这些词不能用作标识符,但还可以用作对象的属性名,但一般不建议使用,已确保能兼容过去和未来的ECMAScript版本

ECMA-62标准原文

ECMAScript® 2023 Language Specificationicon-default.png?t=N7T8https://262.ecma-international.org/14.0/#sec-keywords-and-reserved-words

在标准中还有条件关键字和上下文关键字的区别,但本文不做区分,建议都不要用

ps:夯实基础,细读红宝书的简单记录,如果不恰当之处,欢迎交流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/503339.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我做的app上架应用市场一天,快破400下载量,0差评

上集说到,我做了一个叫QB音乐的安卓app,经过一段时间的自我使用与测试终于算发布了。我昨天顺便把它上架了奇妙应用市场,截止目前3月1号过去了一天,下载量快到400,0差评。看来还是能正常使用的。 一、为什么做这个ap…

vscode+remote突然无法连接服务器以及ssh连接出问题时的排错方法

文章目录 设备描述状况描述解决方法当ssh连接出问题时的排错方法 设备描述 主机:win11,使用vscode的remote-ssh插件 服务器:阿里云的2C2GUbuntu 22.04 UFIE 状况描述 之前一直使用的是vscode的remote服务,都是能够正常连接服务…

php httpfs链接hdfs

一.代码(有bug) GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS 二.调用代码 1.代码1.代码 require_once(../webhdfs/src/org/apache/hadoop/WebHDFS.php);require_once(../webhdfs/src/org/apache/hadoop/tools/Curl.php); require_o…

vue+springboot项目部署服务器

项目仓库:vuespringboot-demo: vuespringboot增删改查的demo (gitee.com) ①vue中修改配置 在public文件夹下新建config.json文件: {"serverUrl": "http://localhost:9090"//这里localhost在打包后记得修改为服务器公网ip } 然后…

string【基础篇】

1.1string字符串类 注意:这个类独立于所使用的编码来处理字节:如果用来处理多字节或变长字符(如UTF-8)的序列,这个 类的所有成员(如长度或大小)以及它的迭代器,将仍然按照字节(而不是实际编码的字符)来操作。 总结: string是表…

计算机网络-网络互连和互联网(五)

1.路由器技术NAT: 网络地址翻译,解决IP短缺,路由器内部和外部地址进行转换。静态地址转换:静态NAT(一对一) 静态NAT,内外一对一转换,用于web服务器,ftp服务器等固定IP的…

Thinkphp框架漏洞--->5.0.23 RCE

1.Thinkphp ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化 企业应用开发而诞生的。 2.漏洞原理及成因 该漏洞出现的原因在于 ThinkPHP5框架底层对控制器名过滤不严 ,从而让攻击者可以通过…

Vue2:路由的两种模式history模式和hash模式

一、情景说明 之前我们写的项目启动后,浏览器访问时,路径中会有个#/,会导致不够美观 因为一般的访问地址都是http://123.123.123.123/aaa/bbb这种形式 这一篇,就来解决这个问题 二、案例 1、hash模式 特点:#/后的…

物联网技术助力智慧城市安全建设:构建全方位、智能化的安全防护体系

一、引言 随着城市化进程的加速和信息技术的迅猛发展,智慧城市已成为现代城市发展的重要方向。在智慧城市建设中,安全是不可或缺的一环。物联网技术的快速发展为智慧城市安全建设提供了有力支持,通过构建全方位、智能化的安全防护体系&#…

修改docker默认存储位置【高版本的docker】

一、修改docker默认存储位置 1、停服务 systemctl stop docker 2、修改/etc/docker/daemon.json添加新的dcoker路径 如"data-root": "/mnt/hdd1/docker" 3、保存后重启服务:systemctl restart docker 二、其他服务的命令 systemctl disab…

S1---FPGA硬件板级原理图实战导学

视频链接 FPGA板级实战导学01_哔哩哔哩_bilibili FPGA硬件板级原理图实战导学 【硬件电路设计的方法和技巧-哔哩哔哩】硬件电路设计的方法和技巧01_哔哩哔哩_bilibili(40min) 【高速板级硬件电路设计-哔哩哔哩】 高速板级硬件电路设计1_哔哩哔哩_bil…

Angular 由一个bug说起之四:jsonEditor使用不当造成的bug

一:问题 项目中使用了一个JSON第三方库: GitHub - josdejong/jsoneditor: A web-based tool to view, edit, format, and validate JSON 当用户编辑JSON格式的数据,查找替换时: 用户的期望结果是:$$ 被替换为$$_text&a…