1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

Merge pull request #376 from longhuicode/patch-3

语义不清晰
This commit is contained in:
Ruan YiFeng 2017-04-14 13:03:42 +08:00 committed by GitHub
commit 658ad650e9

View File

@ -371,7 +371,7 @@ foo()
上面代码的`foo`函数,如果调用的时候没有参数,就会调用默认值`throwIfMissing`函数,从而抛出一个错误。
从上面代码还可以看到,参数`mustBeProvided`的默认值等于`throwIfMissing`函数的运行结果(即函数名之后有一对圆括号),这表明参数的默认值不是在定义时执行,而是在运行时执行(即如果参数已经赋值,默认值中的函数就不会运行),这与 Python 语言不一样
从上面代码还可以看到,参数`mustBeProvided`的默认值等于`throwIfMissing`函数的运行结果(注意函数名throwIfMissing之后有一对圆括号),这表明参数的默认值不是在定义时执行,而是在运行时执行如果参数已经赋值,默认值中的函数就不会运行。
另外,可以将参数默认值设为`undefined`,表明这个参数是可以省略的。