这个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

此javascript代码结构的用途是什么

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”;