Это просто не синтаксис, используемый для определения поглотителя. Вы бы использовать его в качестве объекта буквального, как это:
var foo = {
get bar() {
return 42;
}
};
foo.bar; // 42
... но это не там, где ваш get
есть.
Чтобы определить это, где ваш get
, вы бы использовать defineProperty
:
function User() {
this.firstname = null;
Object.defineProperty(this, "first", {
get: function() {
return this.firstname;
}
});
}
Примечание Я назвал его first
, не getFirst
, потому что это функция сбруи, которая выглядит как прямой доступ собственности и т.д. традиционно не дано имя в форме глагола:
var u = new User();
u.firstname = "Paul";
u.first; // "Paul"
Если вы хотите создать функцию с именем getFirst
, просто избавиться от get
ключевого слова:
this.getFirst = function() {
return firstname;
};
// ...
var u = new User();
u.firstname = "Paul";
u.getFirst(); // "Paul"
Я никогда не видел, чтобы получить ключевое слово в javascript. Вы запрограммировали в ActionScript? – NoImaginationGuy
Это геттер, вы можете прочитать об этом подробнее: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/get, вы уверены, что эти геттеры реализованы в среде, которую вы пытаетесь использовать их? – Dimkin
@osnapitzkindle: у JavaScript было рабочее ключевое слово 'get' с 2009 года. –