这个javascript代码结构的目的是什么?
此javascript代码结构的用途是什么这个javascript代码结构的目的是什么?,javascript,Javascript,此javascript代码结构的用途是什么 var GivenArrayOfJobs = () => { var selectedJob: WorkerModels.JobDetailsResponseModel = { JobId: "25c63b12-9e37-4be0-a8af-4cf237766317", WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317" }; return se
var GivenArrayOfJobs = () => {
var selectedJob: WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}
具体来说,我不确定以下语法说明了什么,也不确定它相对于更传统的js实现的优势:
var GivenArrayOfJobs = () => {
var GivenArrayOfJobs = () => {
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}
var GivenArrayOfJobs = function(){
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}.bind(this);
它是Ecmascript 6。它非常类似于匿名函数
s,只是它会自动将其词法范围绑定到其中。并且不能通过调用
/应用
或任何进一步的.bind(obj)
箭头功能实现:
var GivenArrayOfJobs = () => {
var GivenArrayOfJobs = () => {
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}
var GivenArrayOfJobs = function(){
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}.bind(this);
匿名函数实现:
var GivenArrayOfJobs = () => {
var GivenArrayOfJobs = () => {
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}
var GivenArrayOfJobs = function(){
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}.bind(this);
它是Ecmascript 6。它非常类似于匿名函数
s,只是它会自动将其词法范围绑定到其中。并且不能通过调用
/应用
或任何进一步的.bind(obj)
箭头功能实现:
var GivenArrayOfJobs = () => {
var GivenArrayOfJobs = () => {
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}
var GivenArrayOfJobs = function(){
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}.bind(this);
匿名函数实现:
var GivenArrayOfJobs = () => {
var GivenArrayOfJobs = () => {
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}
var GivenArrayOfJobs = function(){
selectedJob.WorkerModels.JobDetailsResponseModel = {
JobId: "25c63b12-9e37-4be0-a8af-4cf237766317",
WorkerId: "56e63b12-9e37-4be0-a8af-4cf237766317"
};
return selectedJob;
}.bind(this);
此语法在ES2015规范中被称为新语法
一个明显的优点是要编写的代码稍微少一些
此外,arrow函数是词汇范围的,因此如果在and arrow函数中使用此
,它将绑定到词汇容器。在某些情况下,这减少了显式绑定上下文的需要(例如,.bind(this)
)
在您的示例中,没有太大区别(在范围上),因为没有使用此,但语法(主观上)更好一些。此语法在ES2015规范中被称为新语法
一个明显的优点是要编写的代码稍微少一些
此外,arrow函数是词汇范围的,因此如果在and arrow函数中使用此
,它将绑定到词汇容器。在某些情况下,这减少了显式绑定上下文的需要(例如,.bind(this)
)
在您的示例中,没有太大区别(在范围上),因为没有使用this
,但是语法(主观上)有点好≡ function(){}.bind(this)
这是ES6/2015语法。学习它。喜欢它。这部分可能的重复看起来不像法律语法:var-selectedJob:WorkerModels.jobDetails响应模型={…}
,除非它是我以前从未见过的新东西。()=>{}≡ function(){}.bind(this)
这是ES6/2015语法。学习它。喜欢它。此部分的可能重复项看起来不像法律语法:var selectedJob:WorkerModels.jobdailstresponsemodel={…}
,除非它是我以前从未见过的新内容。在这个特定示例中,arrow函数比下面这样的基本js变量有什么优势:var GivenArrayOfJobs=selectedJob.WorkerModels.JobDetailsResponseModel={JobId:“25c63b12-9e37-4be0-a8af-4cf237766317”,WorkerId:“56e63b12-9e37-4be0-a8af-4cf237766317”;在这个特定的示例中,箭头函数比下面这样的基本js变量有什么优势:var GivenArrayOfJobs=selectedJob.WorkerModels.JobDetailsResponseModel={JobId:“25c63b12-9e37-4be0-a8af-4cf237766317”,WorkerId:“56e63b12-9e37-4be0-a8af-4cf237766317”;