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

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

8
Как расширить функцию с помощью классов ES6?
На этот вопрос есть ответы на Stack Overflow на русском : Наследование от функции ES6 позволяет расширять специальные объекты. Таким образом, можно унаследовать от функции. Такой объект можно вызвать как функцию, но как реализовать логику такого вызова? class Smth extends Function { constructor (x) { // What should be done …

2
Геттер / сеттер ES6 с функцией стрелки
Я использую babel6 и для своего любимого проекта создаю оболочку для XMLHttpRequest для методов, которые я могу использовать: open = (method, url, something) => { return this.xhr.open(method, url, something); } но для свойств стрелочная функция не работает это работает: get status() { return this.xhr.status; } но я не могу использовать …

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)'}} /> …

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

5
Классы 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 :'+ this.name); }; return …

5
Динамически импортировать изображения из каталога с помощью 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} /> Это быстро становится грязным. Вот что я хочу: import * from './images' <img src={doggy} /> <img …

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

4
Для чего нужны геттеры и сеттеры в классах 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){ if(newName){ this._name = newName; …

11
Глубокая копия в ES6 с использованием синтаксиса распространения
Я пытаюсь создать метод карты глубокого копирования для моего проекта Redux, который будет работать с объектами, а не с массивами. Я читал, что в Redux каждое состояние не должно ничего менять в предыдущих состояниях. export const mapCopy = (object, callback) => { return Object.keys(object).reduce(function (output, key) { output[key] = callback.call(this, …

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

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

3
деструктуризация объекта без 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]; Дополнительный …

5
Что именно делает анонимная функция JavaScript f => f?
Я использую стороннюю библиотеку, в которой есть функция, которая принимает функции в качестве аргументов. Я выполняю несколько условных проверок, чтобы решить, добавлять ли конкретную функцию в качестве параметра, и в некоторых случаях я не хочу предоставлять функцию. В этом случае предоставление null вызывает ошибку. Я нашел этот код, который работает, …

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

5
Обещания, передайте дополнительные параметры в цепочку
Обещание, например: 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) { // sample function to console log consoleToLog(data); …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.