2015-12-22 3 views
0

Я очень новичок в ES6, и вот моя первая попытка. Похоже, мне нужно только обновить первую строку. Тем не менее, я помню, что читал, что «это» не следует использовать. Я смущен. Надеюсь, вы можете исправить код для меня. Благодаря!Преобразование в синтаксис ES6

// текущий код

initialize: function initialize(options) { 
    this.item = systemChannel.request('iteminfo:request'); 
    this.model = new someModel({ 
    someItem: options.someItem 
    }, 
    { 
    parse: true 
    }); 
}, 

Тогда я пытаюсь преобразовать ES6 синтаксиса // ES6 версия

initialize(options) { 
    this.item = systemChannel.request('iteminfo:request'); 
    this.model = new someModel({ 
    someItem: options.someItem 
    }, 
    { 
    parse: true 
    }); 
}, 

Правильно ли это?

+0

использование transpiler как babel? –

+0

Да в возвышенном тексте, но я не был уверен, что он работает или нет. Я уверен, что он работает, но не уверен, почему у меня не было никаких ошибок. Может быть, этот код, который я написал, находится в правильном синтаксисе ES6? – devwannabe

+1

Да, это правильно ES6. У вас есть примеры сокращенных имен здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer – Shanoor

ответ

1

Является технически ценным для меня. Что касается того, что вы намереваетесь this быть ссылкой, сложно сказать 100%, не зная о том, что вы объявляете initialize, и если что-то еще является обязательным для вас. Можете ли вы опубликовать более полный пример?

Вот пример того, как this работает с объектами со старыми/новыми синтаксисами. Вы можете запустить это на замене babel онлайн, если хотите попробовать сами.

let obj = { 
    fn() { 
    return this; 
    } 
}; 

var obj2 = { 
    fn: function() { 
    return this; 
    } 
}; 

console.log(obj.fn() === obj); //=> true 
console.log(obj2.fn() === obj2); //=> true 
+0

Прохладный. Я попробую. У меня создалось впечатление, что, когда мы используем ES6, мы не должны использовать слово «return». В вашем примере вы использовали «return» – devwannabe

+1

Если вы используете функции стрелок, подразумевается возврат (предполагается, что вы также не предоставляете фигурные скобки для обозначения тела функции), но технически то, что мы используем выше, является просто сокращением, а не функция стрелки. – dvlsg

+0

Ах, понял. Это отличная информация! – devwannabe

Смежные вопросы