Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSES6类构造函数行为_Javascript_Node.js_Es6 Class - Fatal编程技术网

Javascript JSES6类构造函数行为

Javascript JSES6类构造函数行为,javascript,node.js,es6-class,Javascript,Node.js,Es6 Class,我有一个关于ES6类中构造函数的问题 我定义了以下类游戏: module.exports = class Game {constructor() {}}; 现在我创建一个这样的实例。有参数和无参数: let Game = require('./lib/models/game'); console.log(new Game());console.log(new Game(1,2,3)); 如果使用params创建实例,则不会得到错误或异常。 原因是什么?因为JavaScript函数不会检查调用

我有一个关于ES6类中构造函数的问题

我定义了以下类游戏:

module.exports = class Game {constructor() {}};
现在我创建一个这样的实例。有参数和无参数:

let Game = require('./lib/models/game'); console.log(new Game());console.log(new Game(1,2,3));
如果使用params创建实例,则不会得到错误或异常。
原因是什么?

因为JavaScript函数不会检查调用它们时提供的参数数是否与形式参数数相同。这不仅适用于构造函数,也适用于所有函数。(当然,除非向函数中添加显式代码以执行检查。)

如果提供的参数多于形式参数,则可以通过特殊的
参数
伪数组访问这些参数(但请继续阅读):

函数foo(){
for(设i=0;ifoo(“a”、“b”),因为JavaScript函数不会检查调用它们时提供的参数数是否与形式参数数相同。这不仅适用于构造函数,也适用于所有函数。(当然,除非向函数中添加显式代码以执行检查。)

如果提供的参数多于形式参数,则可以通过特殊的
参数
伪数组访问这些参数(但请继续阅读):

函数foo(){
for(设i=0;ifoo(“a”、“b”)也是函数,您可以在javascript函数中传递任意数量的参数。javascript类中的code>也是函数,您可以在javascript函数中传递任意数量的参数。