Вопросы с тегом «arrow-functions»

Вопросы о синтаксисе компактных функций в ECMAScript2015 (ES6), называемом «стрелочными функциями» из-за использования в них символа «=>».

6
Функция стрелки ECMAScript 6, которая возвращает объект
При возврате объекта из функции стрелки кажется, что необходимо использовать дополнительный набор {}и returnключевое слово из-за неоднозначности в грамматике. Это означает, что я не могу писать p => {foo: "bar"}, но должен писать p => { return {foo: "bar"}; }. Если функция стрелки возвращает ничего, кроме объекта, {}и returnне нужно, …

3
«Функции стрелок» и «Функции» эквивалентны / взаимозаменяемы?
Функции стрелок в ES2015 обеспечивают более краткий синтаксис. Могу ли я заменить все мои объявления / выражения функций функциями стрелок сейчас? Что я должен высматривать? Примеры: Функция конструктора function User(name) { this.name = name; } // vs const User = name => { this.name = name; }; Методы прототипа User.prototype.getName …



13
Что означает «=>» (стрелка, образованная из «равно и больше») в JavaScript?
Я знаю, что >=оператор означает больше или равно, но я видел =>в некотором исходном коде. В чем смысл этого оператора? Вот код: promiseTargetFile(fpParams, aSkipPrompt, relatedURI).then(aDialogAccepted => { if (!aDialogAccepted) return; saveAsType = fpParams.saveAsType; file = fpParams.file; continueSave(); }).then(null, Components.utils.reportError);

9
Когда я должен использовать функции Arrow в ECMAScript 6?
Вопрос адресован людям, которые думали о стиле кода в контексте готовящегося ECMAScript 6 (Harmony) и уже работали с языком. С () => {}и function () {}мы получаем два очень похожих способа написания функций в ES6. В других языках лямбда-функции часто отличаются тем, что являются анонимными, но в ECMAScript любая функция …

7
Могу ли я использовать синтаксис функции стрелки ES6 с генераторами? (обозначение стрелки)
т.е. как я могу выразить это: function *(next) {} со стрелками Я перепробовал все комбинации, которые мог придумать, и не могу найти никакой документации по этому вопросу. (в настоящее время используется узел v0.11.14)

8
Как мне написать именованную функцию стрелки в ES2015?
У меня есть функция, которую я пытаюсь преобразовать в новый синтаксис стрелки в ES6 . Это именованная функция: function sayHello(name) { console.log(name + ' says hello'); } Есть ли способ дать ему имя без оператора var: var sayHello = (name) => { console.log(name + ' says hello'); } Очевидно, что …

5
Когда мне следует использовать `return` в функциях стрелки es6?
Новые функции стрелки es6 говорят, returnчто неявные при некоторых обстоятельствах: Выражение также является неявным возвращаемым значением этой функции. В каких случаях мне нужно использовать returnфункции стрелок es6?

4
ES6 немедленно вызвал функцию стрелки
Почему это работает в Node.jsконсоли (протестировано в 4.1.1 и 5.3.0), но не работает в браузере (протестировано в Chrome)? Этот блок кода должен создавать и вызывать анонимную функцию, которая ведет журнал Ok. () => { console.log('Ok'); }() Кроме того, хотя вышеперечисленное работает в Node, это не работает: n => { console.log('Ok'); …


5
Использование jQuery $ (this) с функциями стрелок ES6 (лексическая привязка this)
Прекрасно использовать стрелочные функции ES6 с лексической thisпривязкой. Однако минуту назад я столкнулся с проблемой, используя его с типичной привязкой кликов jQuery: class Game { foo() { self = this; this._pads.on('click', function() { if (self.go) { $(this).addClass('active'); } }); } } Вместо этого используйте стрелочную функцию: class Game { foo() …

5
Использование переменной _ (подчеркивание) со стрелочными функциями в ES6 / Typescript
Я натолкнулся на эту конструкцию в примере Angular, и мне интересно, почему она выбрана: _ => console.log('Not using any parameters'); Я понимаю, что переменная _ означает «безразлично» / «не используется», но, поскольку это единственная переменная, есть ли причина предпочесть использование _ вместо: () => console.log('Not using any parameters'); Конечно, это …

6
Почему JSX-реквизиты не должны использовать стрелочные функции или привязку?
Я запускаю lint с моим приложением React и получаю эту ошибку: error JSX props should not use arrow functions react/jsx-no-bind И здесь я запускаю стрелочную функцию (внутри onClick): {this.state.photos.map(tile => ( <span key={tile.img}> <Checkbox defaultChecked={tile.checked} onCheck={() => this.selectPicture(tile)} style={{position: 'absolute', zIndex: 99, padding: 5, backgroundColor: 'rgba(255, 255, 255, 0.72)'}} /> …

2
Можно ли экспортировать стрелочные функции в ES6 / 7?
Приведенный ниже оператор экспорта дает синтаксическую ошибку. export default const hello = () => console.log("say hello") Зачем ? Я могу экспортировать только именованные функции export function hello() { console.log("hello") } Какова причина?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.