Javascript 获取值的正确方法

Javascript 获取值的正确方法,javascript,Javascript,我正在学习javascript,我对获取对象正确值的最有效、最干净的方法表示怀疑,例如: function Group(cod, teacher) { this.cod = cod; this.teacher = teacher; } Group.prototype.getCod = function() { return this.cod; } var group = new Group(5, 'Max'); var cod = group['cod']; // 5

我正在学习javascript,我对获取对象正确值的最有效、最干净的方法表示怀疑,例如:

function Group(cod, teacher) {
    this.cod = cod;
    this.teacher = teacher;
}
Group.prototype.getCod = function() {
    return this.cod;
}
var group = new Group(5, 'Max');
var cod = group['cod']; // 5
用其他语言​​通常使用函数获取值,例如:

function Group(cod, teacher) {
    this.cod = cod;
    this.teacher = teacher;
}
Group.prototype.getCod = function() {
    return this.cod;
}
var group = new Group(5, 'Max');
var cod = group['cod']; // 5
但是javascript中的一切都非常灵活,我可以通过代码中的名称获得此值,例如:

function Group(cod, teacher) {
    this.cod = cod;
    this.teacher = teacher;
}
Group.prototype.getCod = function() {
    return this.cod;
}
var group = new Group(5, 'Max');
var cod = group['cod']; // 5

现在。。。正确的方法是什么?

以下任何一种方法都可以:

group['cod'];
group.cod; //the most common way as far as I percieve is this
group.getCod();
看看这个

我设置了你的
getCod()
函数,但没有
new

Group.prototype.getCod = function() {
    return this.cod;
}

以下是基于意见的

IMHO您可以根据用例使用语法

我将仅对数组使用
group['cod']
语法,因为它是其他语言中的常用符号

大多数情况下,我会使用
group.cod
表示法进行属性访问,因为这是一种最常见的表示法——除了

group.getCod()
符号。如果获取值还意味着其他操作,那么getter是有用的。考虑这个例子:

Group.prototype.getCod = function() {
    this.codCount--;
    return this.cod;
}

“什么是正确的方式?”“这是你认为正确的方式。一切都取决于你。使用函数是封装的好方法,但也许您需要一个setter?较新的javascript允许您定义getter/setter,但可能它们根本不应该具有访问权限(除非作为另一个函数的结果)--所有你的选择。如果你创建一个函数<代码> GETCOD你可以考虑放<代码> COD变量,而不直接暴露它:)你是对的。谢谢