Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 重构代码时要使用;新";操作人员_Javascript_Oop_New Operator - Fatal编程技术网

Javascript 重构代码时要使用;新";操作人员

Javascript 重构代码时要使用;新";操作人员,javascript,oop,new-operator,Javascript,Oop,New Operator,我正在研究Kyle Simpson的YDKJS:this和对象原型,我试图自己弄清楚,在链接对象中使用object.create()比操作符this在行为委托方面效率更高,我复制了Kyle的示例代码(在代码段中),如果可能的话,我请求您帮助我重构它以使用new关键字(或者使用ES6class)。我很难想当然:) var任务={ setID:function(ID){this.ID=ID;}, outputID(){console.log(this.id);} }; var XYZ=Object

我正在研究Kyle Simpson的YDKJS:this和对象原型,我试图自己弄清楚,在链接对象中使用
object.create()
比操作符
this
在行为委托方面效率更高,我复制了Kyle的示例代码(在代码段中),如果可能的话,我请求您帮助我重构它以使用
new
关键字(或者使用ES6
class
)。我很难想当然:)

var任务={
setID:function(ID){this.ID=ID;},
outputID(){console.log(this.id);}
};
var XYZ=Object.create(任务);
XYZ.prepareTask=函数(ID、标签){
这个.setID(ID);
this.label=标签;
};
XYZ.outputAskDetails=函数(){
this.outputID();
console.log(this.label)
}
var myTask=Object.create(XYZ);
myTask.prepareTask(“myID”,“Some Task”);
myTask.OutputAskDetails()

log(myTask)
Stackoverflow并不是一项免费的代码编写或重构服务,如中所述。对于工作代码,你可能会尝试,但我怀疑他们会告诉你同样的事情嘿@charlietfl如果我被误解了,我很抱歉。我的问题不是关于作业或代码编写。我问它是出于个人的好奇心,想了解Javascript是如何工作的,以及为什么一种方法比另一种更适用。就像生活中的任何事情一样。。通常有许多方法可以达到相同的结果。对于编码,通常归结为作者偏好。阅读Object.create()上的文档,并在web上搜索使用它的教程,看看这是否对您有帮助。除此之外,整个问题太宽泛了