mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-29 05:42:20 +00:00
docs(function): add ES2019 proposals
This commit is contained in:
parent
ac5a037098
commit
4bb8b170e6
@ -1312,3 +1312,52 @@ clownsEverywhere(
|
||||
```
|
||||
|
||||
这样的规定也使得,函数参数与数组和对象的尾逗号规则,保持一致了。
|
||||
|
||||
## Function.prototype.toString()
|
||||
|
||||
[ES2019](https://github.com/tc39/Function-prototype-toString-revision) 对函数实例的`toString()`方法做出了修改。
|
||||
|
||||
`toString()`方法返回函数代码本身,以前会省略注释和空格。
|
||||
|
||||
```javascript
|
||||
function /* foo comment */ foo () {}
|
||||
|
||||
foo.toString()
|
||||
// function foo() {}
|
||||
```
|
||||
|
||||
上面代码中,函数`foo`的原始代码包含注释,函数名`foo`和圆括号之间有空格,但是`toString()`方法都把它们省略了。
|
||||
|
||||
修改后的`toString()`方法,明确要求返回一模一样的原始代码。
|
||||
|
||||
```javascript
|
||||
function /* foo comment */ foo () {}
|
||||
|
||||
foo.toString()
|
||||
// "function /* foo comment */ foo () {}"
|
||||
```
|
||||
|
||||
## catch 命令的参数省略
|
||||
|
||||
JavaScript 语言的`try...catch`结构,以前明确要求`catch`命令后面必须跟参数,接受`try`代码块抛出的错误对象。
|
||||
|
||||
```javascript
|
||||
try {
|
||||
// ...
|
||||
} catch (err) {
|
||||
// 处理错误
|
||||
}
|
||||
```
|
||||
|
||||
上面代码中,`catch`命令后面带有参数`err`。
|
||||
|
||||
很多时候,`catch`代码块可能用不到这个参数。但是,为了保证语法正确,还是必须写。[ES2019](https://github.com/tc39/proposal-optional-catch-binding) 做出了改变,允许`catch`语句省略参数。
|
||||
|
||||
```javascript
|
||||
try {
|
||||
// ...
|
||||
} catch {
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user