The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Утверждён стандарт ECMAScript 7 (2016)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от opennews (??) on 17-Июн-16, 11:17 
На очередном собрании Генеральной Ассамблеи ECMA (http://www.ecma-international.org/) официально утверждён (https://mail.mozilla.org/pipermail/es-discuss/2016-June/0462...) стандарт ECMAScript 2016 (http://www.ecma-international.org/ecma-262/7.0/index.html) (ECMAScript 7 или "ECMA-262 7th edition"), определяющий базовые функциональные возможности JavaScript. ECMAScript 7 примечателен переходом (https://www.opennet.dev/opennews/art.shtml?num=44355) к новому непрерывному процессу формирования стандартов, которые планируется выпускать ежегодно. Напомним, что прошлый стандарт ECMAScript 6 был утверждён в июне прошлого года, спустя шесть лет с момента принятия ECMAScript 5, и содержал достаточно большую порцию новшеств, которые ещё не полностью (http://kangax.github.io/compat-table/es7/) реализованы в современных браузерах.


В отличие от ECMAScript 6 спецификация ECMAScript 7 содержит относительно немного изменений, которые развивались в рамках непрерывно обновляемого варианта спецификации ECMAScript Next (http://kangax.github.io/compat-table/esnext/). В стандарт из данной черновой спецификации были перенесены уже поддерживаемые браузерами возможности, поэтому ECMAScript 7 сразу доступен во всех основных браузерах и не требует дополнительного времени на реализацию.


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


-  Оператор "** (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...)" для возведения в степень. Например, вместо "Math.pow(x, y)" теперь можно указать
"x ** y";

-  Методы Array.prototype.includes() (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...) и TypedArray.prototype.includes() (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...)  для определения наличия элементов в массиве. Напрмер, "[1, 2, 3].includes(2)" вернёт true, а "[1, 2, 3].includes(4)" вернёт false;

-  Методы String.prototype.padStart() (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...) и String.prototype.padEnd() (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...) для доведения строки до заданного размера путём добавления повторяющегося шаблона заполнения в начало или конец строки. Например, 'abc'.padEnd(10, "foo") выдаст "abcfoofoof", а 'abc'.padEnd(6,"123465") выдаст "abc123";


-  Для генераторов и методов генераторов больше не вызываются конструкторы;

URL: https://mail.mozilla.org/pipermail/es-discuss/2016-June/0462...
Новость: http://www.opennet.dev/opennews/art.shtml?num=44618

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Утверждён стандарт ECMAScript 7 (2016)"  +14 +/
Сообщение от Аноним (??) on 17-Июн-16, 11:17 
> String.prototype.padStart() и String.prototype.padEnd()

это на них так модуль удаленный из npm повлиял?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Утверждён стандарт ECMAScript 7 (2016)"  +3 +/
Сообщение от Аноним (??) on 17-Июн-16, 12:21 
Спецификация была ещё с июля 2015 года, а в stage 3(говорит вендорам, что пора бы уже у себя это запилить) было уже в ноябре того же года
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Утверждён стандарт ECMAScript 7 (2016)"  +7 +/
Сообщение от Аноним (??) on 17-Июн-16, 11:36 
>ECMAScript 7 примечателен переходом к новому непрерывному процессу формирования стандартов

We need to go deeper. Ждем стандарт на процесс формирования стандартов.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от Crazy Alex (ok) on 17-Июн-16, 11:57 
Было бы неплохо, кстати
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

28. "Утверждён стандарт ECMAScript 7 (2016)"  +2 +/
Сообщение от КО on 17-Июн-16, 17:22 
ГОСТ Р 1.2-92
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

39. "Утверждён стандарт ECMAScript 7 (2016)"  –1 +/
Сообщение от Crazy Alex (ok) on 18-Июн-16, 01:48 
Если стандарт не международный - это не стандарт. тем более в IT.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

3. "Утверждён стандарт ECMAScript 7 (2016)"  –3 +/
Сообщение от Анонимомус on 17-Июн-16, 11:36 
Странные ребята, .includes() с одной стороны нужен, а с другой уже есть .indexOf, лучше бы форматирование дат сделали, чем дублировать фукционал.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Утверждён стандарт ECMAScript 7 (2016)"  +3 +/
Сообщение от Анином on 17-Июн-16, 11:41 
indexOf в отличии от includes например не отреагирует на NaN
[NaN].indexOf(NaN); // -1
[NaN].includes(NaN); // true
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

20. "Утверждён стандарт ECMAScript 7 (2016)"  +9 +/
Сообщение от azure (ok) on 17-Июн-16, 14:22 
> [NaN].includes(NaN); // true

Отлично! Экспектед бихевиор. Особенно учитывая что NaN != NaN. Консистентно, че.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

36. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 18-Июн-16, 00:35 
И к чему этот пассаж? NaN найти в массиве (без ручного перебора) можно найти только таким методом.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

46. "Утверждён стандарт ECMAScript 7 (2016)"  –1 +/
Сообщение от azure (ok) on 18-Июн-16, 23:54 
> И к чему этот пассаж? NaN найти в массиве (без ручного перебора)
> можно найти только таким методом.

Если ищете именно NaN, то есть isNaN() и перебор по массиву. По моему разумению NaN это сугубо ошибочный результат неких вычислений, и его не то что искать в массиве не надо, его нужно туда не класть, потому что он никчемен и не может быть полезным образом использован далее. На человеческом языке это "хрень непонятная". Никуда её толком не воткнешь. Об этом намекает спецификация языка в которой закреплено что NaN != NaN. Одна хрень не равна другой хрени.
Не вижу никакой силы в аргументе с поиском NaN в методе includes(). Это просто слабый аргумент.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

49. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 06-Июл-16, 16:11 
Интересно, где-то реализован полный набор:
+-NaN Null +-Inf unassigned
одновременно?
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

5. "Утверждён стандарт ECMAScript 7 (2016)"  –2 +/
Сообщение от Аноним (??) on 17-Июн-16, 11:50 
indexOf возвращет индекс найденного элемента иначе -1, а includes возващает булево значение.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

11. "Утверждён стандарт ECMAScript 7 (2016)"  –2 +/
Сообщение от Анонимомус on 17-Июн-16, 12:05 
> indexOf возвращет индекс найденного элемента иначе -1, а includes возващает булево значение.

Все, капут!! -1 к булевому не привести!

[1,2,3].indexOf(2) !== -1
или
!!~[1,2,3].indexOf(2)

стало
[1,2,3].includes(2)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

14. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 17-Июн-16, 12:14 
indexOf не найдет NaN, успокойся. Также includes можно передать стартовую позицию для поиска (это явно быстрее перебора с нулевой позиции indexOf в огромных массивах).
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "Утверждён стандарт ECMAScript 7 (2016)"  +2 +/
Сообщение от Анонимомус on 17-Июн-16, 12:32 
Учитывая что в js NaN != NaN, довольно странное поведение, да и вообще сложно представить когда это нужно, а у indexOf так же есть стартовая позиция https://developer.mozilla.org/en/docs/Web/JavaScript/Referen...
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

23. "Утверждён стандарт ECMAScript 7 (2016)"  +3 +/
Сообщение от тоже Аноним email(ok) on 17-Июн-16, 15:27 
> indexOf не найдет NaN, успокойся.

Спокойствие дороговато выходит.
Раньше разработчику нужно было только помнить, что indexOf не найдет NaN, потому что NaN !== NaN.
Теперь ему еще нужно помнить, что include найдет NaN, несмотря на то, что NaN !== NaN.

Мне одному это напоминает Пых?

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

25. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от synweap (ok) on 17-Июн-16, 16:15 
Array.prototype.includes в данном вопросе ведет себя так же, как и Set.prototype.has. Все вполне логично. Если зачем-то понадобился индекс NaN, делаешь array.findIndex(isNaN).
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

44. "Утверждён стандарт ECMAScript 7 (2016)"  –2 +/
Сообщение от тоже Аноним (ok) on 18-Июн-16, 19:30 
Вы, возможно, удивитесь, но все это продолжает напоминать все тот же Пых: какие-то элементы языка имеют свою логику, но она не состыкована со всем остальным языком...
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

27. "Утверждён стандарт ECMAScript 7 (2016)"  +2 +/
Сообщение от Аноним (??) on 17-Июн-16, 16:51 
>> indexOf возвращет индекс найденного элемента иначе -1, а includes возващает булево значение.
> Все, капут!! -1 к булевому не привести!
> [1,2,3].indexOf(2) !== -1
> или
> !!~[1,2,3].indexOf(2)
> стало
> [1,2,3].includes(2)

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


Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

31. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от angra (ok) on 17-Июн-16, 19:25 
indexOf вынужден выдавать порядковый номер. includes от этого ограничения свободен, а значит может быть реализован совсем другим способами, дающим для больших массивов различие в скорости нахождения на порядки.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 17-Июн-16, 11:59 
И в яваскрипте до сих пор нет ОДНОГО метода для очищения всего массива без мороки с количеством элементов?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от dgdsgfsadfgsdfgsdfg on 17-Июн-16, 12:02 
delete
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Утверждён стандарт ECMAScript 7 (2016)"  +5 +/
Сообщение от Анонимомус on 17-Июн-16, 12:06 
> И в яваскрипте до сих пор нет ОДНОГО метода для очищения всего
> массива без мороки с количеством элементов?

Какой мароки? arr.length = 0;

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от Аноним (??) on 17-Июн-16, 12:08 
var a = [1,2,3,4,5];
a.length = 0;
console.log(a); // --> [];
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору
Часть нити удалена модератором

22. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от анон on 17-Июн-16, 14:56 
> клоун: Сразу видно уровень специалистов. Слово "метод" вам просто так написали?
> a = [1,2,3]

[1, 2, 3]
> Array.prototype.emptyMe = function(){ this.length = 0;}
> a.emptyMe()
> a

[]

пользуйся и не плач

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

37. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 18-Июн-16, 00:40 
Если клоун - грустный, то пускай плачет. Цирк должен продолжаться.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

9. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 17-Июн-16, 12:01 
Главное чтобы современные браузеры поспевали за стандартами...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от Аноним (??) on 17-Июн-16, 12:51 
на удивление с этим всё неплохо, глядишь через годик можно будет уже и о babel забыть
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

24. "Утверждён стандарт ECMAScript 7 (2016)"  +4 +/
Сообщение от Аноним (??) on 17-Июн-16, 15:44 
От бабеля вряд ли можно будет отказаться, но пресет es2015 можно уже отключать
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

18. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от Аноним (??) on 17-Июн-16, 12:52 
Оказывается есть не только Генеральная Ассамблея ООН, но еще и про JavaScript. Круто, че
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от _ (??) on 17-Июн-16, 19:03 
Бронзовеют на глазах ...
Интересно а Уполномоченный Генеральный Секретарь и Почётный Президент JavaScript тоже есть\будет? :)
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "Утверждён стандарт ECMAScript 7 (2016)"  +5 +/
Сообщение от Аноним (??) on 17-Июн-16, 14:31 
Оператор возведения в степень сейчас нужен как никогда.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 17-Июн-16, 18:30 
> Методы String.prototype.padStart() и String.prototype.padEnd() для доведения строки до заданного размера

Это же что же, left-pad.io теперь не нужен?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 17-Июн-16, 19:46 
Следующий стандарт ES: однострочник на питоне добавлено Array.prototype.123 и Array.prototype.helloworld
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

33. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от Аноним (??) on 17-Июн-16, 20:22 
Надо было значащие пробелы ввести. Было бы весело.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Утверждён стандарт ECMAScript 7 (2016)"  +1 +/
Сообщение от Аноним (??) on 17-Июн-16, 20:35 
Чего там с байткодом JavaScript когда уже бинарный JS  в браузеры можно будет компилить и предоставлять?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Crazy Alex (ok) on 18-Июн-16, 01:46 
Никогда. Почти что есть WebAssembly - но это не джаваскрипт.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

40. "Утверждён стандарт ECMAScript 7 (2016)"  –1 +/
Сообщение от анон on 18-Июн-16, 09:27 
скорее всего никогда. для этого придется ввести типы, а на это врядли пойдут.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

41. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 18-Июн-16, 10:49 
Из чего возникает необходимость обязательного введения типов для компиляции в байткод?
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

45. "Утверждён стандарт ECMAScript 7 (2016)"  +4 +/
Сообщение от angra (ok) on 18-Июн-16, 20:59 
Скажу страшное, типы не являются необходимостью даже для компиляции в нативный код. Но дурачки выучили, что компилируемые языки это круто, в известных им компилируемых языках есть типы, значит без типов вообще никак. Такая вот "логика". А что такое байткод они скорее всего вообще не знают.
Можно даже поиздеваться над ламерами и сообщить им, что javascript вообще-то относится к типизированным языкам.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

35. "Утверждён стандарт ECMAScript 7 (2016)"  –1 +/
Сообщение от Ilya Indigo (ok) on 17-Июн-16, 22:13 
> "ECMA-262 7th edition"

Прямо намёк Дэвиду Флэнагану, на то, что пора обновлять книгу. :-)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

42. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 18-Июн-16, 10:51 
Да, обновлять. Причем ежегодно.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

43. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Ilya Indigo (ok) on 18-Июн-16, 12:37 
> Да, обновлять. Причем ежегодно.

Ну не каждый год, но хотя бы раз в 5 лет.
6-ое издание на русском вышло аж в 2012 году, на английском, скорее всего в 2011.
Пора уже.

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

47. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от qwerty_qwerty (ok) on 20-Июн-16, 10:57 
Вот честно, ну не тем народ занимается.

Делают какую то хрень, была же нормальная идея с worker, забросили.
Или вот бинарные данные, прием, передача, сериализация в/из объект, начали что то, появились массивы, ура здорово ну шагните дальше, опять запросили.
Sqllite в веб, ура !! наконец то можно нормально сортировать и искать данные, ну нет все засрали колбеками, а все нормальное не реализовано.
И так все.
Как дети, у них тоже так, идея, коек как реализовали, и все уже не интересно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "Утверждён стандарт ECMAScript 7 (2016)"  +/
Сообщение от Аноним (??) on 20-Июн-16, 17:34 
в последнем хроме итерирование по массиву в 8 раз медленней чем выборка по индексу - это какой то позор
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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