方法/功能在IntelliSense中显示为变量

时间:2017-12-15 19:59:30

标签: javascript visual-studio-code

所以我一直在努力开发一个简单的东西,这里是我制作的一段代码;

var person = function(first, last) {
    this.firstName = first;
    this.lastName = last;
    this.fullName = () => `${this.firstName} ${this.lastName}`;
}

现在,如果我输入对象的fullName()方法,它会显示如下;

Hmm

而不是显示为方法,它显示为变量,这也发生在" person"对象,有没有办法覆盖IntelliSense以使其正确显示?

2 个答案:

答案 0 :(得分:1)

关于功能和方法之间的区别,请注意:

方法与类有关,而函数则不是。由于JavaScript是多范式的(其中一个是功能性的),因此大多数JavaScript函数都只是函数。所有方法都是函数,但并非所有函数都是方法。

关于你的问题,它有一个简单的答案:Lambdas(箭头符号)不归类为函数,因此它们将显示为变量/属性。

希望这可以解决!

答案 1 :(得分:0)

您已为该属性分配了箭头功能。您可以使用new关键字获得所需的行为。我不确定,虽然我对建造者的了解已经消退,因为我们被告知5年前就停止使用它们了。