ECMAScript语法+关键字和保留字

本文介绍了ECMAScript的语法特点,包括区分大小写、标识符规范、注释类型、严格模式的使用以及语句的分号规则。同时,详细讲解了关键字和保留字的定义与限制,强调了它们在不同版本中的变化,提醒开发者避免在代码中使用这些关键字和保留字作为标识符,以防止潜在的错误和未来标准更新的冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ECMAScript语法

ECMAScript语法借鉴了大量的C类语言的语法。所有在学习了C类语言之后再学习ECMAScript语法时,会更加的得心应手。

区分大小写

ECMAScript的一切都是区分大小写的(变量、函数名和操作符)。就好比如说一个变量A,它就不更同于变量a,因为他们的的大小写不一样,所以他们是不同的的变量。还有注意的是,在ECMAScript中,不能把关键字作为变量名、函数名。

// var 是一个关键字
let var = 1;
console.log(var); // Unexpected token 'var'

let Var = 1;
console.log(Var);

var是关键字是不可以作为变量名的,但是把var变为Var就可以使用了,因为Var不是关键字了。

标识符

标识符与就是所说的变量名、函数名、属性名等。ECMAScript有着一套标识符的规范。

  • 第一个字符必须是一个字母、下划线(_)或一个美元符号($);
  • 其他字符可以是字母、下划线、美元符号或数字。
  • 还可以是一些特殊的字符,但是不推荐使用。
  • 一般ECMAScript标识符采用的是驼峰格式拽写。两种形式:
    • 小驼峰:javaScript。第一个单词的首写字母小写,后面接着的单词首写字母都是大写。
    • 大驼峰:JavaScript。第一个单词的首写字母大写,后面接着的单词首写字母也都是大写。

格式是没有强制要求的,只是这样写显得更加的规范。

注释

ECMAScript的注释采用的是C类语言风格的注释。分为单行注释,块级注释。

单行注释

// 两根斜杠就是表示了单行注释

块级注释

/* 两根斜杠,中间还有两个星号,代表了块级注释 */

/*
* 这个星号不是必须的,只是为了更好的阅读
*/

块级注释也称多行注释。

严格模式

严格模式是在ECMAScript 5之后引入的。给 JavaScript添加了不同的处理方式和模型。在严格模式下,有一些的不确定的代码行为也将会得到处理。对于某些不安全的操作会抛出错误。严格模式下显得代码更加的严谨。

想要启动严格模式,只需要添加上这句代码就可以了。这是一个编译指令。

"`use strict`"; 

在那里添加呢?就要看你的需求了。

在整个脚本文件中启用严格模式,就在顶部添加即可

<script>
    "`use strict`"; 
	...
    ...
</script>

也可以在函数内部使用。

function name(){
    "`use strict`"; 
    ...
    ...
}
语句

ECMAScript的语句是以分号结尾。换行也相当于是语句结尾了。

let num = 1;
let ber = 2;
// 都是可以执行的正确的代码
let a = 1
let b = 2

分号不是必须的,可以省略掉分号,由解析器来决定结尾。但是一般不推荐省略掉分号,因为加上分号可以避免许多的不必要的错误。也可以更好的将代码压缩。

在某些的情况下的,添加上分号,可以让代码运行的更快,因为,不需要引擎去判断哪里需要或者不需要分号了。

多条语句写在一对花括号之中,这样的称之为代码块。

if (true) {
    ...
    ...
}

关键字和保留字

关键字

ECMAScript中保留了一套有着特殊用途的关键字。可用于某些特定的操作等。按照保留下来的规则,关键字是不可以用来作为标识符的。

关键字关键字关键字
thisbreakdo
typeofcaseinstanceof
ifelseswitch
whilevarin
newcatchfinally
returnvoidcontinue
forfunctionwith
defaultthrowdelete
trydebugger*

debugger是ECMA第五版新增的。

保留字

ECMAScript还保留了一套不能作为标识符的保留字。尽管现在这套保留字还没有特殊的用途。不过可能会作为关键字使用。

这是第三版的保留字。

保留字保留字保留字保留字
abstractenumintdebugger
shortbooleanlongimplements
charbyteinterfaceprotected
staticeatendsexportvolatile
superfinalnativedouble
synchronizedclassfloatimport
packagethrowsconstpublic
gotoprivatetransient

第五版在非严格模式下就已经压缩了许多。

保留字保留字
classenum
extendssuper
constexport
import

严格模式下有些变化。

保留字保留字
implementspackage
publicinterface
privatestatic
protectedyield
let

letyield是第五版新增的。

在第三版使用关键字和保留字会抛出错误。在第五版中,对关键字和保留字的规则进行了一点修改。

虽然同样的是不可以使用关键字和保留字来作为标识符来说使用,但是在第五版之中可以作为了函数的属性名来使用了。最好是不要用关键字和保留字来作为属性名和标识符。避免以后再做改动时冲突。

除此之外,第5版对eval和arguments还施加了限制。在严格模式下,这两个也不能作为标识符或属性名,否则将会抛出错误。

只是简单的讲讲,可能会有点小错误。需要完整的可自行查找资料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值