我了解函数表达式
和函数声明
之间的区别,但是当涉及到类的引用时它们有何不同?就像下面的 someFunction
可以在类中使用,哪里不能使用?哪个类可以在哪里实例化?
class xyz {
someFunction(){
// Function code
}
}
对比
class xyz {
var someFunction = function(){
// Function code
}
}
最佳答案
当您使用函数声明时,该函数将转到类原型(prototype)。
class xyz {
someFunction(){
// Function code
}
}
上面的类可以表示为函数构造函数:
function xyz() {
//Code.
}
xyz.prototype.someFunction = function() {
//Some code
}
因此 someFunction() 将成为 xyz 原型(prototype)的一部分。
当您在类中使用函数表达式时,它们会引发无效语法错误。 但是,当您在经典函数构造函数中使用函数表达式时,该函数只是一个局部变量,无法被 xyz 实例访问。
function xyz()
{
var someFunction = function(){
// Function code
}
}
关于javascript - 类中的函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49897906/