Javascript JSES6类构造函数行为
我有一个关于ES6类中构造函数的问题 我定义了以下类游戏: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函数不会检查调用
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;i foo(“a”、“b”)代码>,因为JavaScript函数不会检查调用它们时提供的参数数是否与形式参数数相同。这不仅适用于构造函数,也适用于所有函数。(当然,除非向函数中添加显式代码以执行检查。)
如果提供的参数多于形式参数,则可以通过特殊的参数
伪数组访问这些参数(但请继续阅读):
函数foo(){
for(设i=0;i foo(“a”、“b”)也是函数,您可以在javascript函数中传递任意数量的参数。javascript类中的code>也是函数,您可以在javascript函数中传递任意数量的参数。