super.call(this) 的正确用法是什么
What is the proper use of super.call(this)
我有一个class函数(不是我最初开发的)...
function Project()
{
Project.super.call(this);
// this._some_var = null;
/* other initial vars */
...
return DefensiveObject.create(this); // see comment below
}
function initialize()
{
//*******Initialize Project************
}
...
return Project;
此函数是 运行 节点 main.js 包含的名为“Project.js”的模块的一部分。
return DefensiveObject.create(this); // not return Object.create(this)
DefensiveObject 是一个 class 以防止对象获取或
设置未在 class.
中明确设置的属性
main.js 调用 Project.initialize() 驻留在我的项目 class.
中
我的问题是为什么需要调用“Project.super.call(this);”?
在 Javascript 中,保留字 super 在 ES6 classes 中用于引用子项的父项 class,使用它来引用函数是没有意义的.
请阅读这篇解释 super 用法的文章
Project.super.call(this) 行是一种允许在“一次性”class(未包含在原始问题中)中使用处置方法的方法,它允许清理记忆中的代码。
我有一个class函数(不是我最初开发的)...
function Project()
{
Project.super.call(this);
// this._some_var = null;
/* other initial vars */
...
return DefensiveObject.create(this); // see comment below
}
function initialize()
{
//*******Initialize Project************
}
...
return Project;
此函数是 运行 节点 main.js 包含的名为“Project.js”的模块的一部分。
return DefensiveObject.create(this); // not return Object.create(this)
DefensiveObject 是一个 class 以防止对象获取或 设置未在 class.
中明确设置的属性main.js 调用 Project.initialize() 驻留在我的项目 class.
中我的问题是为什么需要调用“Project.super.call(this);”?
在 Javascript 中,保留字 super 在 ES6 classes 中用于引用子项的父项 class,使用它来引用函数是没有意义的.
请阅读这篇解释 super 用法的文章
Project.super.call(this) 行是一种允许在“一次性”class(未包含在原始问题中)中使用处置方法的方法,它允许清理记忆中的代码。