Вопросы с тегом «ecmascript-6»

Версия спецификации ECMAScript 2015 года, теперь стандарт (ECMAScript 2015). Используйте этот тег только в том случае, если вопрос конкретно относится к новым функциям или техническим изменениям, представленным в ECMAScript 2015.

4545
В чем разница между «let» и «var»?

ECMAScript 6 представил это letзаявление . Я слышал, что она описывается как «локальная» переменная, но я все еще не совсем уверен, как она ведет себя иначе, чем varключевое слово. В чем различия? Когда следует letиспользовать более...

2484
Может (a == 1 && a == 2 && a == 3) когда-либо оценить как истинное?

Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. Примечание модератора: Пожалуйста, не поддавайтесь желанию изменить код или удалить это...

930
Использование Node.js требует ES6 импорта / экспорта

В проекте, над которым я работаю, у нас есть два варианта использования модульной системы: Импорт модулей с использованием requireи экспорт с использованием module.exportsи exports.foo. Импорт модулей с использованием ES6 importи экспорт с использованием ES6export Есть ли преимущества в...

767
Когда я должен использовать фигурные скобки для импорта ES6?

Это кажется очевидным, но я был немного озадачен тем, когда использовать фигурные скобки для импорта одного модуля в ES6. Например, в проекте React-Native, над которым я работаю, у меня есть следующий файл и его содержимое: initialState.js var initialState = { todo: { todos: [ {id: 1, task: 'Finish...

620
Функция стрелки ECMAScript 6, которая возвращает объект

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

521
«Функции стрелок» и «Функции» эквивалентны / взаимозаменяемы?

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

493
Альтернативные переменные класса ES6

В настоящее время в ES5 многие из нас используют следующий шаблон в рамках для создания классов и переменных класса, что удобно: // ES 5 FrameWork.Class({ variable: 'string', variable2: true, init: function(){ }, addItem: function(){ } }); В ES6 вы можете создавать классы изначально, но нет...

444
Что означает «=>» (стрелка, образованная из «равно и больше») в JavaScript?

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

434
Вызов асинхронных / ожидающих функций параллельно

Насколько я понимаю, в ES7 / ES2016 размещение нескольких awaitкодов в коде будет работать подобно цепочке .then()с обещаниями, то есть они будут выполняться один за другим, а не в parallerl. Так, например, у нас есть этот код: await someCall(); await anotherCall(); Правильно ли я понимаю, что...

407
Когда я должен использовать функции Arrow в ECMAScript 6?

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

397
Каковы фактические использования ES6 WeakMap?

Каковы фактические виды использования WeakMapструктуры данных, представленной в ECMAScript 6? Поскольку ключ слабой карты создает сильную ссылку на его соответствующее значение, гарантируя, что значение, которое было вставлено в слабую карту, никогда не исчезнет, ​​пока его ключ еще жив, его нельзя...

396
Распространение объекта против Object.assign

Допустим, у меня есть optionsпеременная, и я хочу установить значение по умолчанию. Какова польза / недостаток этих двух альтернатив? Использование объекта распространения options = {...optionsDefault, ...options}; Или используя Object.assign options = Object.assign({}, optionsDefault, options);...

390
Как обновить свойства вложенного состояния в React

Я пытаюсь организовать свое состояние с помощью вложенного свойства следующим образом: this.state = { someProperty: { flag:true } } Но обновление состояния, как это, this.setState({ someProperty.flag: false }); не работает Как это можно сделать...

386
Как я могу псевдоним импорта по умолчанию в Javascript?

Используя модули ES6, я знаю, что могу псевдоним именованного импорта import { foo as bar } from 'my-module'; И я знаю, что могу импортировать импорт по умолчанию import defaultMember from 'my-module'; Я хотел бы использовать псевдоним импорта по умолчанию, и я думал, что будет работать следующее...

368
Какова мотивация для переноса символов на ES6?

ОБНОВЛЕНИЕ : Недавно вышла блестящая статья от Mozilla . Прочитайте это, если вам интересно. Как вы, возможно, знаете, они планируют включить новый тип примитива Symbol в ECMAScript 6 (не говоря уже о некоторых других сумасшедших вещах). Я всегда думал, что :symbolпонятие в Ruby не нужно; вместо...