URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 111705
[ Назад ]

Исходное сообщение
"Утверждён стандарт ECMAScript 8 (2017) "

Отправлено opennews , 12-Июл-17 11:20 
На собрании Генеральной Ассамблеи ECMA (http://www.ecma-international.org/) официально утверждён (https://www.ecma-international.org/news/index.html#Docs113thGA) стандарт ECMAScript 2017 (http://www.ecma-international.org/ecma-262/8.0/index.html) (ECMAScript 8 или "ECMA-262 8th edition"), определяющий базовые функциональные возможности JavaScript. ECMAScript 8 был подготовлен в соответствии с представленным (https://www.opennet.me/opennews/art.shtml?num=44355) в прошлом году непрерывным процессом формирования стандартов ECMAScript, которые теперь выпускаются ежегодно и развиваются в рамках непрерывно обновляемого варианта спецификации ECMAScript Next (http://kangax.github.io/compat-table/esnext/).


В ECMAScript 8 вошли изменения, связанные с устранением недоработок и внесением уточнений к прошлым выпускам ECMAScript, а также добавлено несколько новшеств (https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_...). В стандарт перенесены уже поддерживаемые браузерами возможности, поэтому ECMAScript 8 сразу доступен во всех основных браузерах и не требует дополнительного времени на реализацию.


Основные новшества (https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_...):


-  Добавлены методы Object.values() и Object.entries() (https://github.com/tc39/proposal-object-values-entries), который дополняют уже стандартизированный метод Object.keys  и позволяют получить массив из значений или связок ключ/значение для хранящихся в объекте перечисляемых данных (позволяет раскрыть содержимое ассоциативного массива без перебора в "for in");

-  Добавлены  методы String.padStart() и String.padEnd() (https://github.com/tc39/proposal-string-pad-start-end), позволяющие организовать вывод строк с заполнением, например, выровнять консольный вывод или отображать числа с сохранением фиксированного размера  путём добавления повторяющегося шаблона заполнения в начало или конец строки. Например, 'abc'.padEnd(10, "foo") выдаст "abcfoofoof", а 'abc'.padEnd(6,"123465") выдаст "abc123";

-  Добавлен  метод Object.getOwnPropertyDescriptors() (https://github.com/ljharb/proposal-object-getownpropertydesc...), который возвращает все описания свойств, определённых непосредственно в объекте и не наследованных из других объектов (например, позволяет узнать установлены ли свойства value, set, get, writable, enumerable и т.п.);

-  Включена (https://github.com/tc39/ecmascript-asyncawait) поддержка деклараций функций async (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...) ("async function"),  возвращающих объект AsyncFunction, а также оператора await (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...), которые позволяют упростить написание кода, выполняемого в асинхронном режиме, не блокируя основной поток команд. Конструкции с async/await значительно проще для восприятия и более читаемы, по сравнению с аналогичными конструкциями на основе механизма Promise;
-  Разрешено (https://github.com/tc39/proposal-trailing-function-commas) оставлять запятые после последнего элемента в массивах и объектах (например, "var arr = [1, 2, 3,];"). В массивах также можно оставлять незаполненные элементы (например, "var arr = [1, 2, 3,,,];") вместо которых останутся пустые значения;

-  Добавлен (https://github.com/tc39/ecmascript_sharedmem)  тип SharedArrayBuffer (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...), позволяющий создавать массивы в разделяемой памяти. Для обеспечения возможности писать и читать данные одновременно из нескольких потоков предложен глобальный объект Atomics (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...), который позволяет  организовать выполнение атомарных операций с данными в разделяемой памяти, включая средства синхронизации блокировок примитивов.

URL: https://hackernoon.com/es8-was-released-and-here-are-its-mai...
Новость: http://www.opennet.me/opennews/art.shtml?num=46839


Содержание

Сообщения в этом обсуждении
"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено max , 12-Июл-17 11:20 
String.padStart() и String.padEnd()... джва года ждал, спасибо
годнота

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Andrey Mitrofanov , 12-Июл-17 12:25 
> String.padStart() и String.padEnd()... джва года ждал, спасибо
> годнота

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:37 
Ура! Теперь джва года ждем sprintf.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:43 
> Ура! Теперь джва года ждем sprintf.

String.padLeft() же.



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 13:07 
Вместо sprintf

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:58 
У тебя настолько кривые руки, что понадобилось выравнивание?

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено rpm , 13-Июл-17 02:45 
> У тебя настолько кривые руки, что понадобилось выравнивание?

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено MPEG LA , 13-Июл-17 10:53 
man left-pad@npm

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Олег Торбасов , 16-Июл-17 17:50 
pad’ы легко прикручивались полифиллом. А вот async/await, будучи только синтаксическим сахаром над промисами, проясняет код и облегчает жизнь очень сильно. Правда, теперь я наблюдаю, как они расползаются по моим скриптам и подозреваю, что в конце концов все методы станут асинхронными (кроме конструкторов, с которыми так делать нельзя).

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 11:27 
ну норм

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено GG , 12-Июл-17 11:41 
Ура, товарищи!

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 12:06 
И что неужели никто не скажет какой javascript плохой и все вокруг идиоты?

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено A.Stahl , 12-Июл-17 12:09 
>неужели никто не скажет какой javascript плохой

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено антончик , 12-Июл-17 12:16 
Середина лета, Капитан Очевидность отдыхает на пляже, давайте не будем дёргать его по таким пустякам.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 12:18 
хелоуворлдщики на хаскеле любят поспать ввиду бессонных ночей за дотаном и КСочкой

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено НяшМяш , 12-Июл-17 12:50 
Обезьянки все такие мазохисты? Если в теме не унижают их любимый язык, то день не задался?  Обычно программисты пьют кофе для заряда, а обезьянке нужно прочесть пару десятков оскорбительных комментов про яваскрипт, чтобы она могла продолжить овнокодить?

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 12:58 
хелоуворлд, чем тебе js не угодил?

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:41 
> хелоуворлд, чем тебе js не угодил?

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



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено pripolz , 12-Июл-17 15:19 
> А ссылочку на ядро, окружение или браузер на JS можно?

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 15:41 
> Как насчёт виртуальной машины на JS?
> https://www.youtube.com/watch?v=2gu6bdKDjoE

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



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Отражение луны , 12-Июл-17 20:57 
Так вот как крутость языка измеряется. А я то думал эффективностью и простотой построения сложных конструкций.
Мб кинете ссылочку на удобную реализацию асинхрона на си?

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 21:06 
man fork

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 21:14 
> Так вот как крутость языка измеряется. А я то думал эффективностью и
> простотой построения сложных конструкций.

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



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 23:22 
Хелоуворлд не читатель?
>простотой построения сложных конструкций

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 00:53 
> Хелоуворлд не читатель?
>>простотой построения сложных конструкций

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

?



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 00:57 
> Хелоуворлд не читатель?
>>простотой построения сложных конструкций

Кстати, примеры простоты и эффективности построения сложных конструкций будут? Чтоб мы могли посме^W проникнуться.



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 08:47 
я по пятницам не подаю

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 13:23 
> я по пятницам не подаю

Что вы там по пятницам делаете, нас как-то не очень интригует.
А вот почему вы по средам и четвергам любите покудахтать «ЖС фсех рвет! Да, это суперский ЯП! Мы все так говорим, а значит это правда!» уже интереснее.


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено ygaergafhedg , 13-Июл-17 15:55 
мое мнение о js за комментом 3.12
У вас, хеловорлдов, паранойя. Кудахтаете как раз больше всех вы.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 16:18 
> мое мнение о js за комментом 3.12

А че сюда лезете? Неужто тут банановым сиропом намазанно? Мы сдесь не о красоте, а о "крютости".
Не можете привести пример большого приложения (или простоту конструкции того, что у вас там выступает в качестве меры мощности, см. ветку обсуждения) - значит кудахчете без толку.

> У вас, хеловорлдов, паранойя. Кудахтаете как раз больше всех вы.
> Яваскрипт ужасный язык. Но знают об этом только те, кто на нем пишет.
> Ну и хелоуворлдщики на бейсике, конечно же.

Эпично. И правда, такая стройная картина мира: кроме JS есть только бейсик, а все, кто не разрабатывает на JS - helloworld-щики!



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 18:24 
>А че сюда лезете?

Охренеть.
>Не можете привести пример большого приложения

Хеловорлд, js - внезапно, скриптовый язык, у него своя ниша, какое большое приложение ты хочешь на скриптовом языке?
не говорю, что все, кто не разрабатывает на js - хеловорлдщики. Имею дело с разными языками. В качестве хобби - вообще OCaml.
Хеловорлдщики - они вроде таких, как ты - "не знаю, но осуждаю".


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 19:01 

> Охренеть.

Что, сложно удержать в голове, что разные ветки дискуссий действительно РАЗНЫЕ и не у всех есть либастрал, чтобы угадать, кто и что где-то там отписал?
> Хеловорлд, js - внезапно, скриптовый язык, у него своя ниша, какое большое приложение ты хочешь на скриптовом языке?

Внезапно, ты или тебе подобные дали другое определение - что-то там с построением сложностей. Но и тут примеров пока не было, только самовосхваления и битье себя в грудь бананом "мы все так говорим, а значит это правда!"

> Хеловорлдщики - они вроде таких, как ты - "не знаю, но осуждаю".

Только вот вряд ли мы знакомы, иначе бы ты знал, что был в моей жизни и такой темный и бесславный период, когда приходилось ковыряться в этом ЖС-ном ***ме.
А значит, ты меня не знаешь, но … самокритично, в общем.



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 19:46 
>приходилось ковыряться в этом ЖС-ном ***ме

так и скажи - не осилил, и не выноси мозг своей околесицей.


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 20:22 
>>приходилось ковыряться в этом ЖС-ном ***ме
> так и скажи - не осилил,

Ну ты прям гигант мысли и логики!
> и не выноси мозг своей околесицей.

Да не верещи, не отбираю я твой банан. Зачем он мне?


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 14-Июл-17 18:07 
А я не буду отбирать твой кассовый аппарат. На этом и закончим. Мир.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:06 
Яваскрипт - прекраснейший язык. И красота его не только в нововведениях типа:

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:08 
Яваскрипт ужасный язык. Но знают об этом только те, кто на нем пишет. Ну и хелоуворлдщики на бейсике, конечно же.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Я , 12-Июл-17 13:45 
я хочу объявить массив из 4-х элементов, последний из которых пустой и напишу:
var arr = [1, 2, 3,];

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

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено анонимус , 12-Июл-17 14:20 
я хочу объявить массив из 4-х элементов, последний из которых пустой и напишу:
var arr = [1, 2, 3,,];
я хочу объявить массив из 3-х элементов, но лень удалять последнюю запятую, напишу:
var arr = [1, 2, 3,];

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено _ , 12-Июл-17 16:42 
Ну не красиво же!
А как известно: "Некрасивые самолёты и летают плохо!" (С) приписывают Туполеву.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 14:20 
*показывает листок с от руки написанным "Сарказм"*

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено rshadow , 12-Июл-17 14:36 
Что значит пустой. Такое разве есть в JS?

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 18:58 
Открой консоль и проверь.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 23:27 
У него будет не пустой, а разрежённый. Это не тоже самое, что undefined в ячейке.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено rpm , 13-Июл-17 02:49 
> Что значит пустой. Такое разве есть в JS?
> var arr = [1, 2, 3, undefined];
> var arr = [1, 2, 3, null];
> var arr = [1, 2, 3, ''];

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним Анонимович Анонимов , 12-Июл-17 16:33 
Попробую объяснить. Создание, заполнение массива на лету и инициализация массива это разные вещи. Одно дело, когда вы знаете, что у вас в массиве и поэтому инициализируете его с заданным количеством элементов, другое дело когда формируете массив на лету.

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

  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() и [] существенна только в контексте использования. Ну и инициализация массива с заданным количество элементов невозможна в [].


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 23:28 
>создаст массив из 5 пустых элементов

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним Анонимович Анонимов , 13-Июл-17 08:51 
Во-первых, я-то матчасть, в отличии от вас, знаю на должном уровне. Если бы это был разряжённый массив, то я так и написал бы.

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

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 19:33 
new Array(3).forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Ничего. Массив то разряженный.
----------------------------------------------------------------------
new Array(3).fill(1).forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Три вывода в консоль числа 1.
----------------------------------------------------------------------
[,,].forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Ничего. Массив то разряженный.
----------------------------------------------------------------------
[,,].fill(2).forEach(function (a) { console.log(a); });
Что мы увидим в консоле? Три вывода в консоль числа 2.
----------------------------------------------------------------------

В общем, иди учить матчасть, хотя по ссылка, что ты сам же дал. Там все есть.


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним Анонимович Анонимов , 14-Июл-17 09:20 
Прежде чем мне тыкать, сходи сам для начала хотя бы на википедию:

https://en.wikipedia.org/wiki/Sparse_matrix

>In numerical analysis and computer science, a sparse matrix or sparse array is a matrix in which most of the elements are zero. By contrast, if most of the elements are nonzero, then the matrix is considered dense.
>Разрежённый масси́в — абстрактное представление обычного массива, в котором данные представлены не непрерывно, а фрагментарно; большинство элементов его принимают одно и то же значение (значение по умолчанию, обычно 0 или null).

**************************************

Sparse array в JS это массив с holes

var sparse = [,,3] //sparse array
var dense = [undefined, undefined, 3] //dense array

sparse === dense //false

0 in sparse //false

sparse[0] === 0 //false

0 in dense //true

**************************************

var sparse = [];
var dense = new Array();

sparse === dense //false


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Этонея , 17-Июл-17 12:36 
foreach их не перебирает, но при явном обращении
console.log( new Array(3)[0])
будет
undefined

В общем-то это можно отнести к граблям JS. Zpsr dct ,jkmit cnfyjdbncz 'pjnthbtcrbv/


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Crazy Alex , 12-Июл-17 14:29 
Как раз отличный пример обратного. Приняли бы одно ("запятая всегда означает присутствующий в массиве элемент со значением null") или второе ("дублирующиеся запятые игнорируются") - было бы ок. А так - какова будет длина массива "var arr = [1, 2, 3,];" и как это соотнесётся с длиной массива "var arr = [1, 2, 3,,];" ? Лично я ни одного констистентного решения не вижу.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 21:25 
http://es5.javascript.ru/x11.html#x11.1.4

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено anon2000 , 12-Июл-17 13:10 
Сам JS - это наверное самое адекватное из всего стека веб-технологий.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Crazy Alex , 12-Июл-17 13:35 
Хм, скорее "наименее неадекватное". Учитывая, что весь стек совершенно чудовищен - не самое большое достижение.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:53 
Получается веб не адекватен, а JS да...
Адекватность предполагает соответствие чему-либо, поэтому "самых адекватных" должно быть как минимум два. Правда адекватны они будут только друг другу...

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Crazy Alex , 12-Июл-17 14:24 
Для данного случая - имеется в виду адекватность задачам, я полагаю. Сейчас веб - это в основном платформа для запуска приложений (от простых, которые мы по старой памяти обзываем страничками до всяких наворотов вроде графических редакторов и групвари). Этой задаче там действительно условно адекватен JS (тем менее адекватен, чем сложнее приложение), с остальным - всё хуже, дикая смесь легаси и попыток это легаси подправить.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 15:27 
Это понятно, тут не поспоришь. Проблема в подходе. Для веб, где JS условно является условно стандартообразующим монополистом, он не может быт не адекватным в принципе. Отдельные решения, отдельные элементы языка - это да можно дискутировать. Это сродни обсуждению адекватен ли ассемблер какой-то машины или нет. Есть машина, есть её оп.коды и есть ассемблер. Можно дискутировать о мнемоническом представлении какой-то команды, но не о ассемблере как таковом. Соответственно текущий JS применительно к веб не может быть хорошим, плохим или неадекватным.
Проблема возникает, когда кто-то называет JS хорошим, потому что он адекватен для веб. Он не хороший вообще, он просто соответствует текущему подходу в веб. Будет он адекватен для чего-то еще - это вопрос. Хороший ли это язык для систем, где есть возможность выбора - это еще больший вопрос.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено anon2000 , 12-Июл-17 16:42 
>Он не хороший вообще, он просто соответствует текущему подходу в веб.

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:39 
Верно. Все давно пришут на ClojureScript или PureScript.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Zoolander , 12-Июл-17 14:43 
Все - это ты и два твоих воображаемых друга? Удачи дальше так думать.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено username , 12-Июл-17 14:09 
ситуация отражает то насколько всем пофиг

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 13:45 
> Разрешено оставлять запятые после последнего элемента в массивах и объектах (например, "var arr = [1, 2, 3,];"). В массивах также можно оставлять незаполненные элементы (например, "var arr = [1, 2, 3,,,];") вместо которых останутся пустые значения;

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено rshadow , 12-Июл-17 14:38 
Отлично! Лет через 5 можно будет использовать на сайте!

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено avig , 12-Июл-17 15:14 
webpack не завезли? async\await уже давно юзаю

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено rshadow , 12-Июл-17 17:01 
Да уже простые Простые форматы вымирают как мамонты. Везде компиляция: js, css, xls ... =(

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 18:37 
Это в уютненьких корпоративных проектах везде сборка, наверное. На аутсорсинговых просторах еще ни один проект в адекватном состоянии не пришел.

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

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 14:52 
JS начинает быть похож на Java курильщика

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Kodir , 12-Июл-17 18:58 
JS был укуренным от рождения :) Как только сделали динамический язык и кинули туда недотёп-ойтишнегов, тут *оно* по кочкам и понеслось! Их унюханые братья из стана PHP были только рады новым членам палаты.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 16:14 
И зачем это нужно? Отключил у себя и доволен.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено A.Stahl , 12-Июл-17 17:00 
Так ведь свистелки теперь не свистят, а перделки не пердят. Как так жить?

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 12-Июл-17 18:32 
> Так ведь свистелки теперь не свистят, а перделки не пердят. Как так жить?

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Kodir , 12-Июл-17 19:00 
> Без лишних шумов и запахов.

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено avig , 12-Июл-17 19:25 
web без скрипта!? это как!? а rich ui я тебе на чем сделаю? а разделение ui и бекенд? что обратно в 2000е? ты ебанутый?

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 14-Июл-17 20:24 
типичная макака, даже без оскорблений высказаться не могет :)

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним84701 , 12-Июл-17 17:54 
> И зачем это нужно? Отключил у себя и доволен.

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Аноним , 13-Июл-17 01:12 
Да это ещё вполне адекватный сайт, а вот тут:
https://tyumen.zarplata.ru/vacancy/card/132987921/Imitator_p... - даже title без js не увидишь, не то что контент хоть какой-то ))

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено defu , 12-Июл-17 17:36 
> -  Разрешено (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).


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Ilya Indigo , 12-Июл-17 17:49 
Осталось только чтобы Флэнаган выпустил очередное издание своей книги, и, конечно же, что бы Симфол+ её перевёл и выпустил.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Zoolander , 12-Июл-17 18:21 
C массивами и запятыми вопрос все же не ясен. Что за фигня вообще?

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено defu , 12-Июл-17 18:57 
Так а что не ясно то, это не новая фича. Они добавили только 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.



"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Zoolander , 12-Июл-17 22:14 
Хоть один юзкейс бы...

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено angra , 13-Июл-17 09:01 
Представь, что массив состоит не из коротких чисел и записывается в одну строку, а из сложных элементов, каждый из которых на отдельной строке, а то и вовсе является блоком из десятка строк. И в процессе разработки элементы этого массива надо будет добавлять, удалять, менять местами. В этом случае каждый раз следить за добавлением/удалением запятой весьма напрягает.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено defu , 13-Июл-17 11:06 
Основное применение этому, это git и подобное.
Когда элементы объекта/массива находятся в разных строках и, к примеру, ты добавляешь новую строку с новым элементом, тебе нужно поставить запятую в предыдущей строке за последним элементом. И это уходит как 2 строки исправления в гит, вместо одной когда используешь trailing commas.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Zoolander , 13-Июл-17 18:42 
Логично. Спасибо

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено th3m3 , 12-Июл-17 21:24 
Что-то как-то негусто. Запятые какие-то, нафиг они нужны? И так нормально живётся. В общем, фичи какие-то такие, что и без этого нормально жили.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Ydro , 13-Июл-17 08:45 
Лучше бы вместо этих методов, которые легко реализовать самим, сделали нормальную защиту "классов" вместо бубна в виде Object.freeze()

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено krasnodar2000 , 13-Июл-17 13:57 
запятые вообще зачем? вон в Clojure нет их и норм.

"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Zoolander , 13-Июл-17 16:25 
Clojure большинство хомячков не осилят. Синтаксис другой.

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

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено defu , 13-Июл-17 18:29 
Javascript как-бы мультипарадигмальный, может быть и процедурный и ооп и функциональный ;) В последний год все больше и больше народа переходят на функциональный стиль написания.
А про без запятых, так js тоже может =D , const arr = '1 2 3 4 5'.split(' ');


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Zoolander , 13-Июл-17 20:10 
Ха-ха, приколол )

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

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


"Утверждён стандарт ECMAScript 8 (2017) "
Отправлено Zoolander , 13-Июл-17 20:11 
> Ха-ха, приколол )
> Насчет моды на функциональное - согласен. Только это тупая мода без понимания
> откуда все это берется.
> А все это новое уже было в LISP лет 60 назад... )

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