Быстрая и практичная шпаргалка по JavaScript от Toptal: ES6 и не только
Опубликовано: 2022-03-11ECMAScript 6 (ES6) — это последняя стандартная спецификация JavaScript , языка программирования для Интернета. С момента появления HTML5 и Node.js , среды выполнения, которая позволяет нам запускать JavaScript на сервере или на рабочем столе, JavaScript получил уникальный импульс. Растет скорость внедрения среди предприятий, внедряющих его в производство, и поэтому его новейшие функции ждали с нетерпением.
Мы создали эту памятку как список функций ES6, которые мы используем каждый день. Пытаясь быть всеобъемлющим, но в то же время кратким, новые методы API оставлены отдельно. Для тех, кому они нужны, выполните быстрый поиск самостоятельно или попробуйте изучить документацию MDN, чтобы найти последние экспериментальные API. Тем не менее, включены некоторые наиболее передовые характеристики, такие как async
и await
из следующего проекта спецификации (ES7). Это связано с тем, что большинство из нас, разработчиков, в любом случае собираются использовать транспилятор, такой как Babel, чтобы получить преимущества новейшего JavaScript.
Вы можете проверить некоторые из упомянутых советов, запустив REPL узла с помощью этой команды:
node --use-strict $(node --v8-options | grep harm | awk '{print $1}' | xargs) #ES6
Или используйте непосредственно узел babel, чтобы получить максимальную отдачу от Javascript в вашей консоли.
Нажмите здесь, чтобы скачать шпаргалку по JavaScript ES6
Шпаргалка по JavaScript (ES6 и выше)
Константы | пусть против вар | |
> const ЭЙЛЕР = 2,7182818284 | > переменная средняя = 5 | |
Предупреждение! Если массив или объект, ссылка остается постоянной . Если константа является ссылкой на объект, вы все равно можете изменить содержимое, но никогда не изменяйте переменную. | ||
> const КОНСТАНТЫ = [] | Помните о временных мертвых зонах : | |
> console.log(val) // -> 'не определено' | ||
Потому что это эквивалентно: | ||
Двоичная, восьмеричная и шестнадцатеричная запись | > вар вал | |
> 0b1001011101 // 605 | ||
Переменные, объявленные с помощью «let/const», не поднимаются: | ||
Новые типы | > console.log(значение) | |
Символы, карты, слабые карты и наборы | ||
Функция стрелки | Новые функции с ограниченной областью действия | |
> setTimeout(() => { | > { | |
Эквивалент с анонимной функцией | Эквивалент с немедленно вызываемыми функциональными выражениями (IIFE) | |
> setTimeout (функция () { | > (функция () { | |
Новинки в обозначениях объектов | Интерполяция строк, благодаря литералам шаблонов | |
// Вычисляемые свойства // Литералы объектов // Такой же как } | > константное имя = 'Тигр' // Мы можем сохранить новые строки… ![]() | |
Параметры по умолчанию | ||
> функция HowAreYou (ответ = 'ok') { | ||
Обещания | Классы, наследование, сеттеры, геттеры | |
новое обещание ((разрешить, отклонить) => { | класс Rectangle расширяет форму { | |
Разрушение массивов | Разрушение объектов | |
> пусть [a, b, c, d] = [1, 2, 3, 4]; | > пусть люк = { род занятий: 'джедай', | |
Оператор спреда | ...Деструктуризируй как босс | |
// Превратить массивы в разделённые запятыми | > const [кошка, собака, ...рыба] = [ | |
Или сделайте лучший толчок | ...и деструктуризация в будущем ES7 | |
> пусть обр = [1, 2, 3] | {а, б, ...остальное} = {а: 1, б: 2, в: 3, д: 4} | |
Асинхронный ES7 | Ждите ES7 | |
асинхронная функция Шредингера () { | пытаться { | |
Экспорт ES7 | Импорт ES7 | |
функция экспорта sumTwo (a, b) { | импортировать React из «реагировать» | |
Генераторы | ||
Они возвращают объекты, реализующие протокол итерации. т.е. у него есть метод next(), который возвращает { value: <some value>, done: <true or false> } . | ||
function* incRand (max) { // Asterisk определяет это как генератор | ||
> var rng = incRand(2) // Возвращает объект-генератор |