打字稿中这段代码的含义是什么?常量storeDocumentId = documentId => this.preselectedDocumentId = documentId;

时间:2018-04-13 08:05:29

标签: angular typescript

打字稿中这段代码的含义是什么?

path

如果storeDocumentId是一个函数,它是如何获取参数的,因为它是在没有参数的情况下调用的。请参阅下面的功能代码。

const storeDocumentId = documentId => this.preselectedDocumentId = documentId;

2 个答案:

答案 0 :(得分:2)

表达式的左侧创建一个名为storeDocumentId的变量,该变量将是右侧定义的函数。

该函数只接受一个参数documentId,并将其分配给preselectedDocumentId成员。

它使用了一个箭头函数,该函数保留了this的范围 - 如果该函数将从其他范围调用,例如事件,则该函数很有用。

这是一个没有使用箭头功能的老式版本:

var _this = this;
var storeDocumentId = function (documentId) { 
    return _this.preselectedDocumentId = documentId;
};

请注意,此函数会不必要地返回该值 - 我这样做是为了使旧式版本与原始版本保持一致。当箭头函数具有单个表达式时,默认情况下会返回它。

如果你用旧的方式写它,你可能不会有一个返回语句。

答案 1 :(得分:1)

它声明一个名为storeDocumentId的常量,并为其指定一个箭头函数。箭头函数有一个名为documentId的参数,函数体为this.preselectedDocumentId = documentId。将参数分配给声明此箭头函数的对象(preselectedDocumentId)的字段this