Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2019, 16:22
Новичок на форуме
Отправить личное сообщение для Lord_Jaraxxus Посмотреть профиль Найти все сообщения от Lord_Jaraxxus
 
Регистрация: 07.01.2019
Сообщений: 5

Ошибка в геттере
Не вижу причину ошибки missing ) after argument list, не понимаю,
в чем проблема, заранее спасибо.

function User(fullName) {


this.fullName = fullName;
Object.defineProperties(this, 'fullName',
get: function(){ //!!!
return this.firstName + ' ' + this.lastName;
},
set: function(value){
var names = value.split(' ');
this.firstName = names[0];
this.lastName = names[1];
}
)
}
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2019, 16:24
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

function User(fullName) {
    this.fullName = fullName;

    Object.defineProperties(this, 'fullName', {
        get: function() {
            return this.firstName + ' ' + this.lastName;
        },

        set: function(value) {
            var names = value.split(' ');
            this.firstName = names[0];
            this.lastName = names[1];
        }
    })
}
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2019, 18:21
Аспирант
Отправить личное сообщение для NeoN Посмотреть профиль Найти все сообщения от NeoN
 
Регистрация: 01.03.2013
Сообщений: 77

Сообщение от Nexus Посмотреть сообщение
function User(fullName) {
    this.fullName = fullName;

    Object.defineProperties(this, 'fullName', {
        get: function() {
            return this.firstName + ' ' + this.lastName;
        },

        set: function(value) {
            var names = value.split(' ');
            this.firstName = names[0];
            this.lastName = names[1];
        }
    })
}
только разве это будет работать?
defineProperties принимает ведь только 2 аргумента
думаю, тут еще вместо defineProperties должно быть defineProperty
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2019, 18:22
Аспирант
Отправить личное сообщение для NeoN Посмотреть профиль Найти все сообщения от NeoN
 
Регистрация: 01.03.2013
Сообщений: 77

полагаю, этот код более правильный
function User(fullName) {
    this.fullName = fullName;

    Object.defineProperty(this, 'fullName', {
        get: function() {
            return this.firstName + ' ' + this.lastName;
        },

        set: function(value) {
            var names = value.split(' ');
            this.firstName = names[0];
            this.lastName = names[1];
        }
    })
}

Последний раз редактировалось NeoN, 27.02.2019 в 18:37.
Ответить с цитированием
  #5 (permalink)  
Старый 27.02.2019, 18:34
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от NeoN
только разве это будет работать?
Я только синтаксис поправил.

upd. вот так будет правильно с defineProperties:
function User(fullName) {
    this.fullName = fullName;

    Object.defineProperties(this, {
        fullName: {
            get: function() {
                return this.firstName + ' ' + this.lastName;
            },

            set: function(value) {
                var names = value.split(' ');
                this.firstName = names[0];
                this.lastName = names[1];
            }
        }
    });
}

Последний раз редактировалось Nexus, 28.02.2019 в 10:41.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в геттере DGGDAK47 Общие вопросы Javascript 8 12.09.2017 14:00
Ошибка в регулярке со слэшем izcian Общие вопросы Javascript 2 01.11.2012 15:21
firebug пишет ошибка invalid range in character class Dim@ Общие вопросы Javascript 5 10.05.2012 16:52
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07
IE: неизвестная ошибка выполнения _Kpot_ Internet Explorer 1 03.04.2008 11:00