ecmascript-6- все статьи тега


Как исправить ошибку Eslint "prefer-destructuring"?

Я хотел сократить объектный литерал в ES6 следующим образом: const loc = this.props.local; Причина в том, что loc.foo(); намного проще печатать, чем this.props.local.foo(); Но теперь Эслинт жалуется: Использовать объект деструктурируется: предпочитаю-деконструкция Я прочитал описание ошибки на eslint.org но я этого не понимаю. У них есть пример, который очень похож на мой код, но их, кажется, все в порядке? var foo = object.bar; Как я могу исправить ошибку, не задав ее игнорирова ...

Преобразование кода ES5 в ES6 во время выполнения

Есть возможность использовать babel API для преобразования кода javascript из сценария ecma 5 в сценарий ecma 6? Я имею в виду, допустим, я использую следующий cdn Https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.js И предоставить такой источник, как массив или объект с простым кодом ES5, и он преобразует его в некоторый массив / объект / строку кода ES6? Можно ли как-то добиться этого с помощью Вавилона или какого-то другого инструмента? Я хочу привести несколько примеро ...

AJAX-запрос в ES6 в ванили на JavaScript

Я могу сделать запрос ajax, используя jquery и es5, но я хочу передать мне код так, чтобы его ваниль и использует es6. Как изменится эта просьба? (Примечание: я запрашиваю api Википедии). var link = "https://en.wikipedia.org/w/api.php?action=query&prop=info&pageids="+ page +"&format=json&callback=?"; $.ajax({ type: "GET", url: link, contentType: "application/json; charset=utf-8", async: false, dataType: "json", success:function(re){ ...

В чем разница между использованием "let" и "var" для объявления переменной в JavaScript?

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

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

в проекте, над которым я сотрудничаю, у нас есть два варианта, на которых мы можем использовать модульную систему: импорт модулей с помощью require, и экспорт с помощью module.exports и exports.foo. импорт модулей с помощью ES6 import, и экспорт с помощью ES6 export есть ли преимущества использования одного над другим? Есть ли что-нибудь еще, что мы должны знать, если мы будем использовать модули ES6 над узловыми? ...

Что такое "экспорт по умолчанию" в javascript?

File: SafeString.js // Build out our basic SafeString type function SafeString(string) { this.string = string; } SafeString.prototype.toString = function() { return "" + this.string; }; export default SafeString; Я никогда не видел export default раньше. Есть ли эквивалентные вещи для export default что может быть проще для понимания? ...

Что означает "= > " (стрелка, образованная из equals & greater than) в JavaScript?

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

Функция стрелки против объявления / выражения функции: они эквивалентны / заменяемы?

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

Объект распространения и объекта.назначить

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

Объявление статических констант в классах ES6?

Я хочу реализовать константы в class, потому что именно там имеет смысл найти их в коде. до сих пор я реализовывал следующий обходной путь со статическими методами: class MyClass { static constant1() { return 33; } static constant2() { return 2; } // ... } Я знаю, что есть возможность возиться с прототипами, но многие рекомендуют против этого. есть ли лучший способ реализовать константы в классах ES6? ...

Карта против объекта в JavaScript

Я только что обнаружил chromestatus.com и, потеряв несколько часов своего дня, нашел эту запись: карта: объекты карты-это простые карты ключей / значений. что меня смутило. Обычные объекты JavaScript-это словари, так как это Map отличается от словаря? Концептуально они идентичны (согласно в чем разница между картой и словарем?) документация ссылки на chromestatus также не помогают: объекты карты-это коллекции пар ключ / значение, где как ключи, так и значения могут быть произвольными ...

Как добавить несколько классов в компонент ReactJS

Я новичок в ReactJS и JSX, и у меня возникли небольшие проблемы с кодом ниже. Я пытаюсь добавить несколько классов в в каждом li: <li key={index} className={activeClass, data.class, "main-class"}></li> мой компонент React: var AccountMainMenu = React.createClass({ getInitialState: function() { return { focused: 0 }; }, clicked: function(index) { this.setState({ focused: index }); }, render: function() { var self = this; var accountMenuData = [ ...

Доступ к индексу элемента массива ES6 внутри цикла for-of

мы можем получить доступ к элементам массива с помощью цикла for-of: for (const j of [1, 2, 3, 4, 5]) { console.log(j); } Как я могу изменить этот код, чтобы получить доступ к текущему индексу тоже? Я хочу добиться этого, используя для синтаксиса, ни объекту, ни к-в. ...

Как я могу издеваться над импортом модуля ES6 с помощью Jest?

Я начинаю думать, что это невозможно, но я все равно хочу спросить. Я хочу проверить, что один из моих модулей ES6 вызывает другой модуль ES6 определенным образом. С Жасмин это очень легко -- приложение код: // myModule.js import dependency from './dependency'; export default (x) => { dependency.doSomething(x * 2); } и тестовый код: //myModule-test.js import myModule from '../myModule'; import dependency from '../dependency'; describe('myModule', () => { it('calls the dependenc ...

Javascript (ES6), экспорт const vs экспорт по умолчанию

Я пытаюсь определить, есть ли какие-либо большие различия между этими 2, кроме возможности импорта с export default именно: import myItem from 'myItem'; и с помощью export const Я могу сделать: import { myItem } from 'myItem'; мне интересно, есть ли какие-либо различия и/или варианты использования, кроме этого. ...

В JavaScript ES6 в экспорт константный против экспорта давай

Допустим у меня есть переменная, которую я хочу экспортировать. В чем разница между export const a = 1; vs export let a = 1; Я понимаю разницу между const и let, но когда вы экспортируете их, каковы различия? ...

Фильтровать свойства объекта по ключу в ES6

допустим у меня есть объект: { item1: { key: 'sdfd', value:'sdfd' }, item2: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } Я хочу создать другой объект путем фильтрации объекта выше, так что у меня есть что-то вроде. { item1: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } Я ищу чистый способ сделать это с помощью Es6, поэтому операторы распространения доступны для меня. Спасибо! ...

Как опубликовать модуль, написанный на ES6 в NPM?

Я собирался опубликовать модуль в NPM, когда я подумал о переписывании его в ES6, чтобы как в будущем, так и узнать ES6. Я использовал Babel для транспилирования в ES5 и запуска тестов. Но я не уверен, как поступить: должен ли я транспилировать и публиковать полученную папку / out в NPM? нужно ли включать папку результатов в репозиторий Github? или я поддерживаю 2 репозитория, один с кодом ES6 + скрипт gulp для Github, а другой с транспилированными результатами + тесты для НПМ? короче говоря: ...

Как использовать ES6 Fat Arrow to.filter () массив объектов

Я пытаюсь использовать функцию стрелки ES6 с .filter вернуть взрослых (Джек и Джилл). Похоже, я не могу использовать оператор if. что мне нужно знать, чтобы сделать это в ES6? var family = [{"name":"Jack", "age": 26}, {"name":"Jill", "age": 22}, {"name":"James", "age": 5 }, {"name":"Jenny", "age": 2 }]; let adults = family.filter(person => if (person.age > 18) person); // throws error (8:37) SyntaxError: unknown: Unexpected token (8:37) |let ...

Как импортировать jquery с помощью синтаксиса ES6?

я пишу новое приложение с помощью (JavaScript)ES6 синтаксис через babel transpiler и preset-es2015 плагины, а также semantic-ui для стиля. .js import * as stylesheet from '../assets/styles/app.scss'; import * as jquery2 from '../dist/scripts/jquery.min'; import * as jquery3 from '../node_modules/jquery/dist/jquery.min'; console.log($('my-app')); .HTML-код <!DOCTYPE html> <html lang="fr"> <head> <body> <script src="dist/app.js"></script> </body> &l ...