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

106
Как расширить функцию с помощью классов ES6?

На этот вопрос есть ответы на Stack Overflow на русском : Наследование от функции ES6 позволяет расширять специальные объекты. Таким образом, можно унаследовать от функции. Такой объект можно вызвать как функцию, но как реализовать логику такого вызова? class Smth extends Function { constructor...

105
Почему 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}...

104
Почему Javascript ES6 Promises продолжает выполнение после разрешения?

Насколько я понимаю, обещание - это то, что может разрешить () или отклонить (), но я был удивлен, обнаружив, что код в обещании продолжает выполняться после вызова решения или отклонения. Я считал, что функция resolve или reject является асинхронной версией exit или return, которая остановит все...

104
Классы Node.js ES6 с требованием

Итак, до сих пор я создавал классы и модули node.jsследующим образом: var fs = require('fs'); var animalModule = (function () { /** * Constructor initialize object * @constructor */ var Animal = function (name) { this.name = name; }; Animal.prototype.print = function () { console.log('Name is :'+...

104
сравнение наборов ECMA6 на равенство

Как вы сравниваете два набора javascript? Я пробовал использовать ==и, ===но оба возвращают false. a = new Set([1,2,3]); b = new Set([1,3,2]); a == b; //=> false a === b; //=> false Эти два набора эквивалентны, потому что по определению наборы не имеют порядка (по крайней мере, обычно). Я...

104
Динамически импортировать изображения из каталога с помощью webpack

Итак, вот мой текущий рабочий процесс для импорта изображений и значков в веб-пакет через ES6: import cat from './images/cat1.jpg' import cat2 from './images/cat2.svg' import doggy from './images/doggy.png' import turtle from './images/turtle.png' <img src={doggy} /> Это быстро становится...

103
Глубокая копия в ES6 с использованием синтаксиса распространения

Я пытаюсь создать метод карты глубокого копирования для моего проекта Redux, который будет работать с объектами, а не с массивами. Я читал, что в Redux каждое состояние не должно ничего менять в предыдущих состояниях. export const mapCopy = (object, callback) => { return...

103
Для чего нужны геттеры и сеттеры в классах ECMAScript 6?

Я не понимаю, в чем смысл геттеров и сеттеров в классах ECMAScript 6. Какая цель? Ниже приведен пример, о котором я говорю: class Employee { constructor(name) { this._name = name; } doWork() { return `${this._name} is working`; } get name() { return this._name.toUpperCase(); } set name(newName){...

102
Почему я могу изменить значение константы в javascript

Я знаю, что ES6 еще не стандартизирован, но многие браузеры в настоящее время поддерживают const ключевое слово в JS. В спецификации написано, что: Значение константы не может измениться посредством повторного присвоения, и константа не может быть повторно объявлена. Из-за этого, хотя можно...

102
деструктуризация объекта без var

Почему деструктуризация объекта вызывает ошибку, если varперед ним нет ключевого слова? {a, b} = {a: 1, b: 2}; бросает SyntaxError: expected expression, got '=' Следующие три примера работают без проблем var {a, b} = {a: 1, b: 2}; var [c, d] = [1, 2]; [e, f] = [1, 2]; Дополнительный вопрос: почему...

102
Можно ли экспортировать стрелочные функции в ES6 / 7?

Приведенный ниже оператор экспорта дает синтаксическую ошибку. export default const hello = () => console.log("say hello") Зачем ? Я могу экспортировать только именованные функции export function hello() { console.log("hello") } Какова причина?...

101
Что именно делает анонимная функция JavaScript f => f?

Я использую стороннюю библиотеку, в которой есть функция, которая принимает функции в качестве аргументов. Я выполняю несколько условных проверок, чтобы решить, добавлять ли конкретную функцию в качестве параметра, и в некоторых случаях я не хочу предоставлять функцию. В этом случае предоставление...

101
Обещания, передайте дополнительные параметры в цепочку

Обещание, например: var P = new Promise(function (resolve, reject) { var a = 5; if (a) { setTimeout(function(){ resolve(a); }, 3000); } else { reject(a); } }); После вызова метод в обещании: P.then(doWork('text')); Функция doWork выглядит так: function doWork(data) { return function(text) { //...

101
Webpack babel 6 декораторы ES6

У меня есть проект, написанный на ES6 с веб-пакетом в качестве сборщика. Большая часть транспилирования работает нормально, но когда я пытаюсь включить декораторы где угодно, я получаю эту ошибку: Decorators are not supported yet in 6.x pending proposal update. Я просмотрел трекер ошибок babel и...

100
Преобразование ES6 Iterable в массив

Скажем, у вас есть массив Javascript ES6 Iterable, который, как вы заранее знаете, будет иметь конечную длину, как лучше всего преобразовать его в массив Javascript? Причина этого заключается в том, что многие библиотеки js, такие как подчеркивание и lodash, поддерживают только массивы, поэтому,...

100
Почему babel перезаписывает вызов импортированной функции в (0, fn) (…)?

Учитывая входной файл, например import { a } from 'b'; function x () { a() } Babel скомпилирует это в 'use strict'; var _b = require('b'); function x() { (0, _b.a)(); } но при компиляции в свободном режиме вызов функции выводится как _b.a(); Я провел некоторое исследование того, где добавлен...

98
Как расширить класс без использования super в ES6?

Можно ли расширить класс в ES6 без вызова superметода для вызова родительского класса? EDIT: вопрос может вводить в заблуждение. Это стандарт, по которому мы должны звонить, super()или я что-то упускаю? Например: class Character { constructor(){ console.log('invoke character'); } } class Hero...

98
Нужно ли мне требовать js, когда я использую babel?

Я экспериментирую с ES6, использую gulp для сборки и babel для переноса на ES5. Вывод не запускается в узле, а просто связан с файлом .htm с тегом. Я думаю, мне нужно добавить <script src='require.js'></script> или что-то вроде того. Я пытаюсь импортировать / экспортировать....