The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Утверждён стандарт ECMAScript 8 (2017)

12.07.2017 10:46

На собрании Генеральной Ассамблеи ECMA официально утверждён стандарт ECMAScript 2017 (ECMAScript 8 или "ECMA-262 8th edition"), определяющий базовые функциональные возможности JavaScript. ECMAScript 8 был подготовлен в соответствии с представленным в прошлом году непрерывным процессом формирования стандартов ECMAScript, которые теперь выпускаются ежегодно и развиваются в рамках непрерывно обновляемого варианта спецификации ECMAScript Next.

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

Основные новшества:

  • Добавлены методы Object.values() и Object.entries(), который дополняют уже стандартизированный метод Object.keys и позволяют получить массив из значений или связок ключ/значение для хранящихся в объекте перечисляемых данных (позволяет раскрыть содержимое ассоциативного массива без перебора в "for in");
  • Добавлены методы String.padStart() и String.padEnd(), позволяющие организовать вывод строк с заполнением, например, выровнять консольный вывод или отображать числа с сохранением фиксированного размера путём добавления повторяющегося шаблона заполнения в начало или конец строки. Например, 'abc'.padEnd(10, "foo") выдаст "abcfoofoof", а 'abc'.padEnd(6,"123465") выдаст "abc123";
  • Добавлен метод Object.getOwnPropertyDescriptors(), который возвращает все описания свойств, определённых непосредственно в объекте и не наследованных из других объектов (например, позволяет узнать установлены ли свойства value, set, get, writable, enumerable и т.п.);
  • Включена поддержка деклараций функций async ("async function"), возвращающих объект AsyncFunction, а также оператора await, которые позволяют упростить написание кода, выполняемого в асинхронном режиме, не блокируя основной поток команд. Конструкции с async/await значительно проще для восприятия и более читаемы, по сравнению с аналогичными конструкциями на основе механизма Promise;
  • Разрешено оставлять запятые после последнего элемента списке параметров функций. Запятые можно оставлять как при определении, так и при вызове функций (например, "function f(a,b,)" и "f(1,2,)");
  • Добавлен тип SharedArrayBuffer, позволяющий создавать массивы в разделяемой памяти. Для обеспечения возможности писать и читать данные одновременно из нескольких потоков предложен глобальный объект Atomics, который позволяет организовать выполнение атомарных операций с данными в разделяемой памяти, включая средства синхронизации блокировок примитивов.


  1. Главная ссылка к новости (https://hackernoon.com/es8-was...)
  2. OpenNews: Утверждён стандарт ECMAScript 7 (2016)
  3. OpenNews: Утверждён стандарт ECMAScript 6
  4. OpenNews: ECMAScript 5 утвержден в качестве стандарта
  5. OpenNews: В Chrome и движке V8 обеспечена поддержка спецификаций ECMAScript 6 и 7
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46839-ecmascript
Ключевые слова: ecmascript, javascript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (93) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, max (??), 11:20, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    String.padStart() и String.padEnd()... джва года ждал, спасибо
    годнота
     
     
  • 2.8, Andrey Mitrofanov (?), 12:25, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > String.padStart() и String.padEnd()... джва года ждал, спасибо
    > годнота

    https://duckduckgo.com/?q=%22%D0%B2%D1%81%D0

     
  • 2.15, Аноним (-), 13:37, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ура! Теперь джва года ждем sprintf.
     
     
  • 3.18, Аноним (-), 13:43, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Ура! Теперь джва года ждем sprintf.

    String.padLeft() же.


     
  • 3.74, Аноним (-), 13:07, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вместо sprintf

    'this an string and this an ${val}' - возвращает обычную строку.

     
  • 2.22, Аноним (-), 13:58, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя настолько кривые руки, что понадобилось выравнивание?
     
     
  • 3.66, rpm (?), 02:45, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > У тебя настолько кривые руки, что понадобилось выравнивание?

    Какой мудрый коммент. Фсе ф шоке.

     
  • 3.72, MPEG LA (ok), 10:53, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    man left-pad@npm
     
  • 2.93, Олег Торбасов (?), 17:50, 16/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    pad’ы легко прикручивались полифиллом. А вот async/await, будучи только синтаксическим сахаром над промисами, проясняет код и облегчает жизнь очень сильно. Правда, теперь я наблюдаю, как они расползаются по моим скриптам и подозреваю, что в конце концов все методы станут асинхронными (кроме конструкторов, с которыми так делать нельзя).
     

  • 1.2, Аноним (-), 11:27, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну норм
     
  • 1.3, GG (ok), 11:41, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ура, товарищи!
     
  • 1.4, Аноним (4), 12:06, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    И что неужели никто не скажет какой javascript плохой и все вокруг идиоты?
     
     
  • 2.5, A.Stahl (ok), 12:09, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +20 +/
    >неужели никто не скажет какой javascript плохой

    А то что небо голубое тебе не сообщить? Или что вода мокрая?

     
  • 2.6, антончик (?), 12:16, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Середина лета, Капитан Очевидность отдыхает на пляже, давайте не будем дёргать его по таким пустякам.
     
  • 2.7, Аноним (-), 12:18, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    хелоуворлдщики на хаскеле любят поспать ввиду бессонных ночей за дотаном и КСочкой
     
  • 2.9, НяшМяш (ok), 12:50, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Обезьянки все такие мазохисты? Если в теме не унижают их любимый язык, то день не задался?  Обычно программисты пьют кофе для заряда, а обезьянке нужно прочесть пару десятков оскорбительных комментов про яваскрипт, чтобы она могла продолжить овнокодить?
     
     
  • 3.10, Аноним (-), 12:58, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    хелоуворлд, чем тебе js не угодил?
     
     
  • 4.17, Аноним (-), 13:41, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > хелоуворлд, чем тебе js не угодил?

    А ссылочку на ядро, окружение или браузер на JS можно? А еще, состоятельность ЯП проверяется обычно компилятором или интерпретатором на нем самом - и тут вас, Бандерлогов, запросто обстваляют те же почитатели Каа.
    Но вы и дальше продолжайте дружно повторять, что вы велики и достойны восхищения :)


     
     
  • 5.33, pripolz (?), 15:19, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А ссылочку на ядро, окружение или браузер на JS можно?

    Как насчёт виртуальной машины на JS?
    https://www.youtube.com/watch?v=2gu6bdKDjoE

     
     
  • 6.35, Аноним (-), 15:41, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Как насчёт виртуальной машины на JS?
    > https://www.youtube.com/watch?v=2gu6bdKDjoE

    Как насчет того, что мне и оригинал знаком, не только пересьемка на видосик? Поэтому я в курсе лютейших тормозов этой ВМки.
    Мы, если что, не о пет-проектах и PoCах :)


     
  • 5.52, Отражение луны (ok), 20:57, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Так вот как крутость языка измеряется. А я то думал эффективностью и простотой построения сложных конструкций.
    Мб кинете ссылочку на удобную реализацию асинхрона на си?
     
     
  • 6.54, Аноним (-), 21:06, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    man fork
     
  • 6.55, Аноним (-), 21:14, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так вот как крутость языка измеряется. А я то думал эффективностью и
    > простотой построения сложных конструкций.

    Крутость языка измеряется не хелловорлдами (тут вы проигрываете тем же хацкелям или лиспам и идете максимум наравне с питонам) или обещаниями пиарщиков , а тем, что на нем смогли такого нужного и большого написать.
    Я правда не подумал, что для ЖопоСкритников ядро, браузер или хотя бы более-менее быстрый интерпретатор суть простые и тривиальные конструкции :(


     
     
  • 7.59, Аноним (-), 23:22, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Хелоуворлд не читатель?
    >простотой построения сложных конструкций
     
     
  • 8.63, Аноним (-), 00:53, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что ты не осилил в ... текст свёрнут, показать
     
  • 8.64, Аноним (-), 00:57, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, примеры простоты и эффективности построения сложных конструкций будут Ч... текст свёрнут, показать
     
     
  • 9.69, Аноним (-), 08:47, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    я по пятницам не подаю ... текст свёрнут, показать
     
     
  • 10.75, Аноним (-), 13:23, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что вы там по пятницам делаете, нас как-то не очень интригует А вот почему вы ... текст свёрнут, показать
     
     
  • 11.77, ygaergafhedg (?), 15:55, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    мое мнение о js за комментом 3 12 У вас, хеловорлдов, паранойя Кудахтаете как р... текст свёрнут, показать
     
     
  • 12.78, Аноним (-), 16:18, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А че сюда лезете Неужто тут банановым сиропом намазанно Мы сдесь не о красоте,... текст свёрнут, показать
     
     
  • 13.80, Аноним (-), 18:24, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Охренеть Хеловорлд, js - внезапно, скриптовый язык, у него своя ниша, какое бол... текст свёрнут, показать
     
     
  • 14.84, Аноним (-), 19:01, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Что, сложно удержать в голове, что разные ветки дискуссий действительно РАЗНЫЕ и... большой текст свёрнут, показать
     
     
  • 15.86, Аноним (-), 19:46, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    так и скажи - не осилил, и не выноси мозг своей околесицей ... текст свёрнут, показать
     
     
  • 16.89, Аноним (-), 20:22, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну ты прям гигант мысли и логики Да не верещи, не отбираю я твой банан Зачем о... текст свёрнут, показать
     
     
  • 17.91, Аноним (-), 18:07, 14/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я не буду отбирать твой кассовый аппарат На этом и закончим Мир ... текст свёрнут, показать
     
  • 2.11, Аноним (-), 13:06, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Яваскрипт - прекраснейший язык. И красота его не только в нововведениях типа:

    > Разрешено оставлять запятые после последнего элемента в массивах и объектах (например, "var arr = [1, 2, 3,];"). В массивах также можно оставлять незаполненные элементы (например, "var arr = [1, 2, 3,,,];") вместо которых останутся пустые значения;

     
     
  • 3.12, Аноним (-), 13:08, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Яваскрипт ужасный язык. Но знают об этом только те, кто на нем пишет. Ну и хелоуворлдщики на бейсике, конечно же.
     
  • 3.20, Я (??), 13:45, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я хочу объявить массив из 4-х элементов, последний из которых пустой и напишу:
    var arr = [1, 2, 3,];

    я хочу объявить массив из 3-х элементов, но лень удалять последнюю запятую, напишу:
    var arr = [1, 2, 3,];

    и в чём тут красота? бред полнейший.

     
     
  • 4.24, анонимус (??), 14:20, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я хочу объявить массив из 4-х элементов, последний из которых пустой и напишу:
    var arr = [1, 2, 3,,];
    я хочу объявить массив из 3-х элементов, но лень удалять последнюю запятую, напишу:
    var arr = [1, 2, 3,];

    поправил, не благодари helloword-anykey.

     
     
  • 5.39, _ (??), 16:42, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну не красиво же!
    А как известно: "Некрасивые самолёты и летают плохо!" (С) приписывают Туполеву.
     
  • 4.25, Аноним (-), 14:20, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    *показывает листок с от руки написанным "Сарказм"*
     
  • 4.28, rshadow (ok), 14:36, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что значит пустой. Такое разве есть в JS?

    var arr = [1, 2, 3, undefined];
    var arr = [1, 2, 3, null];
    var arr = [1, 2, 3, ''];

     
     
  • 5.48, Аноним (-), 18:58, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Открой консоль и проверь.
     
  • 5.60, Аноним (-), 23:27, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    У него будет не пустой, а разрежённый. Это не тоже самое, что undefined в ячейке.
     
  • 5.67, rpm (?), 02:49, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Что значит пустой. Такое разве есть в JS?
    > var arr = [1, 2, 3, undefined];
    > var arr = [1, 2, 3, null];
    > var arr = [1, 2, 3, ''];

    Массивы в жс фальшивые. На самом деле это хеши.

     
  • 4.37, Аноним Анонимович Анонимов (?), 16:33, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попробую объяснить. Создание, заполнение массива на лету и инициализация массива это разные вещи. Одно дело, когда вы знаете, что у вас в массиве и поэтому инициализируете его с заданным количеством элементов, другое дело когда формируете массив на лету.

    Вам ничто не мешает написать:

      var arr = new Array(5) //создаст массив из 5 пустых элементов

    для инициализации массива этого достаточно. Оператор [] актуален, когда, например, в цикле формируется динамическй массив.


    var temp_arr = [];

    for ( var i = 0; i < Math.floor( Math.random() * 1000 ); i++)
    {
      temp_arr.push(i);
    }

    Разница между new Array() и [] существенна только в контексте использования. Ну и инициализация массива с заданным количество элементов невозможна в [].

     
     
  • 5.62, Аноним (-), 23:28, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >создаст массив из 5 пустых элементов

    Создаст разряженный массив (а не пустой). Учите уже матчасть. Тот же Array.foreach не будет его перебирать.

     
     
  • 6.70, Аноним Анонимович Анонимов (?), 08:51, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Во-первых, я-то матчасть, в отличии от вас, знаю на должном уровне. Если бы это был разряжённый массив, то я так и написал бы.

    Во-вторых, читайте уже стандарт ECMA Script.

    https://learn.javascript.ru/array#new-array-2
    https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/
    http://www.ecma-international.org/ecma-262/8.0/index.html#sec-array-objects
    http://es5.javascript.ru/x15.4.html#x15.4.2

     
     
  • 7.85, Аноним (-), 19:33, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    new Array 3 forEach function a console log a Что мы увидим в консоле ... большой текст свёрнут, показать
     
     
  • 8.90, Аноним Анонимович Анонимов (?), 09:20, 14/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прежде чем мне тыкать, сходи сам для начала хотя бы на википедию https en wik... текст свёрнут, показать
     
  • 8.94, Этонея (?), 12:36, 17/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    foreach их не перебирает, но при явном обращении console log new Array 3 0 б... текст свёрнут, показать
     
  • 3.27, Crazy Alex (ok), 14:29, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Как раз отличный пример обратного. Приняли бы одно ("запятая всегда означает присутствующий в массиве элемент со значением null") или второе ("дублирующиеся запятые игнорируются") - было бы ок. А так - какова будет длина массива "var arr = [1, 2, 3,];" и как это соотнесётся с длиной массива "var arr = [1, 2, 3,,];" ? Лично я ни одного констистентного решения не вижу.
     
     
  • 4.57, Аноним (-), 21:25, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    http://es5.javascript.ru/x11.html#x11.1.4

    Элементы массива могут быть пропущены в начале, в середине или в конце списка элементов. Если перед запятой в списке элементов отсутствует AssignmentExpression Выражение присваивания – т. е., запятая находится сразу в начале списка или непосредственно перед другой запятой – то пропущенный элемент массива увеличивает длину Array и индекс последующих элементов. Определение пропущенных элементов массива не производится. Элемент, пропущенный в конце массива, не увеличивает длину объекта Array.

     
  • 2.13, anon2000 (?), 13:10, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Сам JS - это наверное самое адекватное из всего стека веб-технологий.
     
     
  • 3.14, Crazy Alex (ok), 13:35, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Хм, скорее "наименее неадекватное". Учитывая, что весь стек совершенно чудовищен - не самое большое достижение.
     
  • 3.21, Аноним (-), 13:53, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Получается веб не адекватен, а JS да...
    Адекватность предполагает соответствие чему-либо, поэтому "самых адекватных" должно быть как минимум два. Правда адекватны они будут только друг другу...
     
     
  • 4.26, Crazy Alex (ok), 14:24, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Для данного случая - имеется в виду адекватность задачам, я полагаю. Сейчас веб - это в основном платформа для запуска приложений (от простых, которые мы по старой памяти обзываем страничками до всяких наворотов вроде графических редакторов и групвари). Этой задаче там действительно условно адекватен JS (тем менее адекватен, чем сложнее приложение), с остальным - всё хуже, дикая смесь легаси и попыток это легаси подправить.
     
     
  • 5.34, Аноним (-), 15:27, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это понятно, тут не поспоришь Проблема в подходе Для веб, где JS условно являе... большой текст свёрнут, показать
     
     
  • 6.38, anon2000 (?), 16:42, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Он не хороший вообще, он просто соответствует текущему подходу в веб.

    Проблема в том, что он не соответствует текущему подходу в веб. Да и вообще весь веб-стек не соответствует текущему подходу в веб.

     
  • 2.16, Аноним (-), 13:39, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Верно. Все давно пришут на ClojureScript или PureScript.
     
     
  • 3.30, Zoolander (?), 14:43, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Все - это ты и два твоих воображаемых друга? Удачи дальше так думать.
     
  • 2.23, username (??), 14:09, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    ситуация отражает то насколько всем пофиг
     

  • 1.19, Аноним (-), 13:45, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Разрешено оставлять запятые после последнего элемента в массивах и объектах (например, "var arr = [1, 2, 3,];"). В массивах также можно оставлять незаполненные элементы (например, "var arr = [1, 2, 3,,,];") вместо которых останутся пустые значения;

    Ссылка вообще про про запятые после аргументов функции, поправьте.

     
  • 1.29, rshadow (ok), 14:38, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отлично! Лет через 5 можно будет использовать на сайте!
     
     
  • 2.32, avig (?), 15:14, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    webpack не завезли? async\await уже давно юзаю
     
     
  • 3.41, rshadow (ok), 17:01, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да уже простые Простые форматы вымирают как мамонты. Везде компиляция: js, css, xls ... =(
     
     
  • 4.82, Аноним (-), 18:37, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это в уютненьких корпоративных проектах везде сборка, наверное. На аутсорсинговых просторах еще ни один проект в адекватном состоянии не пришел.

    Вчера шок-контент был, когда увидел js, в шапке которого скопипастен минифицированный jquery, bootstrap и еще каких-то мелких библиотек, а внизу уже непосредственно код. js-сниппеты, с кодом, спрятанным в таймауте, чтоб jquery к этому моменту загрузился, несколько версий jquery на одной странице - это вообще в порядке вещей.

    Так и живем. Лучше бы js родился компилируемым. Глядишь, такой х*рни бы не было. С бинарным кодом в копипасту не поиграешь.

     

  • 1.31, Аноним (-), 14:52, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    JS начинает быть похож на Java курильщика
     
     
  • 2.49, Kodir (ok), 18:58, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    JS был укуренным от рождения :) Как только сделали динамический язык и кинули туда недотёп-ойтишнегов, тут *оно* по кочкам и понеслось! Их унюханые братья из стана PHP были только рады новым членам палаты.
     

  • 1.36, Аноним (-), 16:14, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И зачем это нужно? Отключил у себя и доволен.
     
     
  • 2.40, A.Stahl (ok), 17:00, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так ведь свистелки теперь не свистят, а перделки не пердят. Как так жить?
     
     
  • 3.46, Аноним (-), 18:32, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Так ведь свистелки теперь не свистят, а перделки не пердят. Как так жить?

    Без лишних шумов и запахов.

     
     
  • 4.50, Kodir (ok), 19:00, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Без лишних шумов и запахов.

    :))) Шутки-шутками, но ведь есть реальные утырки-недоадмины-въебмастера, сайты которых вообще не работают бес крипта!! Реально за такое надо ломать ноги (оттуда же у них растут и руки).

     
     
  • 5.51, avig (?), 19:25, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    web без скрипта!? это как!? а rich ui я тебе на чем сделаю? а разделение ui и бекенд? что обратно в 2000е? ты ебанутый?
     
     
  • 6.92, Аноним (-), 20:24, 14/07/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    типичная макака, даже без оскорблений высказаться не могет :)
     
  • 2.44, Аноним84701 (ok), 17:54, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > И зачем это нужно? Отключил у себя и доволен.

    Только у особо одаренных половину контента -- как корова языком слизала:
    https://abissell.com/2014/01/16/c11s-_generic-keyword-macro-applications-and-p
    Без ЖС тут не просто код "неподсвеченный" и "неинтерактивный" (хотя зачем каждый раз посетителю рендерить подсветку и прочее, если все это один раз можно сделать при загрузке контента - для меня тайна) -- его, млять, вообще нет.  

     
     
  • 3.65, Аноним (-), 01:12, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да это ещё вполне адекватный сайт, а вот тут:
    https://tyumen.zarplata.ru/vacancy/card/132987921/Imitator_programmista?positi - даже title без js не увидишь, не то что контент хоть какой-то ))
     

  • 1.42, defu (?), 17:36, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > -  Разрешено (https://github.com/tc39/proposal-trailing-function-commas) оставлять
    > запятые после последнего элемента в массивах и объектах (например, "var arr
    > = [1, 2, 3,];"). В массивах также можно оставлять незаполненные элементы
    > (например, "var arr = [1, 2, 3,,,];") вместо которых останутся пустые
    > значения;

    В общем-то переводить надо аккуратней, НО самое смешное, что народ принялся бурно обсуждать, как будто это новая фича , то, что написано было уже внедрено с ES5.
    А по линку, то что новое приняли, это "Trailing commas in function parameter lists", т.е. можно ставить запятую после последнего параметра в фунцкии, аля f(a,) тоже что и f(a).

     
  • 1.43, Ilya Indigo (ok), 17:49, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Осталось только чтобы Флэнаган выпустил очередное издание своей книги, и, конечно же, что бы Симфол+ её перевёл и выпустил.
     
  • 1.45, Zoolander (?), 18:21, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    C массивами и запятыми вопрос все же не ясен. Что за фигня вообще?

    async/await - самая полезная штука из этого

     
     
  • 2.47, defu (?), 18:57, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так а что не ясно то, это не новая фича. Они добавили только trailing commas для параметров функции, пример: f(a,).
    А в массивах и объектах уже было давно это внедрено. Одну запятую в конце списка массива или объекта можно использовать, "для облегчения" добавления новых элементов ;)
    К примеру:
    const a = [1,2,3,] ; a.length; // размер масива 3, тоже что и a[1,2,3]
    //
    const obj = { a: 'one', b: 'two', c: 'three",} ;
    //
    Ну и если запятых в конце несколько, то это тоже самое что создать undefined элементы.
    К примеру:
    const a = [1,2,3,,,] ; a.length //  размер массива будет 5, где пустые элементы образуют дыру, они неявно undefined. Но любые итераторы над массивом пропустят пустые элементы, т.е. не выведут что они undefined.


     
     
  • 3.58, Zoolander (?), 22:14, 12/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Хоть один юзкейс бы...
     
     
  • 4.71, angra (ok), 09:01, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Представь, что массив состоит не из коротких чисел и записывается в одну строку, а из сложных элементов, каждый из которых на отдельной строке, а то и вовсе является блоком из десятка строк. И в процессе разработки элементы этого массива надо будет добавлять, удалять, менять местами. В этом случае каждый раз следить за добавлением/удалением запятой весьма напрягает.
     
  • 4.73, defu (?), 11:06, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Основное применение этому, это git и подобное.
    Когда элементы объекта/массива находятся в разных строках и, к примеру, ты добавляешь новую строку с новым элементом, тебе нужно поставить запятую в предыдущей строке за последним элементом. И это уходит как 2 строки исправления в гит, вместо одной когда используешь trailing commas.
     
     
  • 5.83, Zoolander (?), 18:42, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Логично. Спасибо
     

  • 1.56, th3m3 (ok), 21:24, 12/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Что-то как-то негусто. Запятые какие-то, нафиг они нужны? И так нормально живётся. В общем, фичи какие-то такие, что и без этого нормально жили.
     
  • 1.68, Ydro (?), 08:45, 13/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лучше бы вместо этих методов, которые легко реализовать самим, сделали нормальную защиту "классов" вместо бубна в виде Object.freeze()
     
  • 1.76, krasnodar2000 (?), 13:57, 13/07/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    запятые вообще зачем? вон в Clojure нет их и норм.
     
     
  • 2.79, Zoolander (?), 16:25, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Clojure большинство хомячков не осилят. Синтаксис другой.

    Все мои знакомые и друзья видят синтаксис, боятся его, и тут же закрывают книги, статьи и прочее по Clojure и продолжают писать на JS, Java, Python, Go, сейчас еще Rust.

    Функциональные языки после императивных тяжело даются. Императивщина головного мозга трудно лечится )

     
     
  • 3.81, defu (?), 18:29, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Javascript как-бы мультипарадигмальный, может быть и процедурный и ооп и функциональный ;) В последний год все больше и больше народа переходят на функциональный стиль написания.
    А про без запятых, так js тоже может =D , const arr = '1 2 3 4 5'.split(' ');

     
     
  • 4.87, Zoolander (?), 20:10, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ха-ха, приколол )

    Насчет моды на функциональное - согласен. Только это тупая мода без понимания откуда все это берется.

    А все это новое уже было в LISP лет 60 назад... )

     
     
  • 5.88, Zoolander (?), 20:11, 13/07/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ха-ха, приколол )
    > Насчет моды на функциональное - согласен. Только это тупая мода без понимания
    > откуда все это берется.
    > А все это новое уже было в LISP лет 60 назад... )

    И следующим этапом по-идее этим людям, кто в функциональном стиле пишет - перейти на что-то вроде ClojureScript, ан-нет )

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру