JavaScript中的计算/瞬态字段
我正在尝试使用OO JavaScript实现以下目标:JavaScript中的计算/瞬态字段,javascript,Javascript,我正在尝试使用OO JavaScript实现以下目标: class Sample { public int x {get; set;} public int y {get; set;} public int z { get {return x+y;} } } 我无法理解如何在上述类中实现属性“z”。您必须使用函数。从ECMAScript第5版(ES5)开始,该函数可以是以常规非函数方式访问的属性的“getter”;在此之前,必须使用显式函数调用 以下是ES5方法,
class Sample
{
public int x {get; set;}
public int y {get; set;}
public int z
{
get {return x+y;}
}
}
我无法理解如何在上述类中实现属性“z”。您必须使用函数。从ECMAScript第5版(ES5)开始,该函数可以是以常规非函数方式访问的属性的“getter”;在此之前,必须使用显式函数调用 以下是ES5方法,使用:| 用法:
var s = new Sample();
s.x = 3;
s.y = 4;
console.log(s.z); // "7"
var s = new Sample();
s.x = 3;
s.y = 4;
console.log(s.getZ()); // "7"
对于ES3(例如早期版本):
用法:
var s = new Sample();
s.x = 3;
s.y = 4;
console.log(s.z); // "7"
var s = new Sample();
s.x = 3;
s.y = 4;
console.log(s.getZ()); // "7"
请注意,您必须实际执行函数调用getZ()
,而ES5使其成为一个属性访问(只需z
)
请注意,JavaScript(目前)还没有
类
功能(尽管它是一个保留字,即将推出)。您可以通过构造函数和原型创建对象类,因为JavaScript是一种原型语言。(好吧,这有点混合。)如果你开始进入层次结构,就会有一些重要的、重复的管道。有关这方面的更多信息,请参见这里的堆栈溢出。这看起来像Java,而不是JavaScript。你是说你想在JavaScript中实现类似的东西吗?(另外,“x”和“y”的值的语法也不熟悉。)在我看来更像C。但是,您是如何实现类的其余部分的?@Niko yes可能您是对的:-)代码是C语言的,只是为了解释我在JavaScript(而不是Java)中寻找的内容。