Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   JS.next(стандарты, фичи, движки) (https://javascript.ru/forum/offtopic/50248-js-next-standarty-fichi-dvizhki.html)

nerv_ 04.04.2015 10:27

Цитата:

Сообщение от kobezzza
Абстрактные ссылки из ES7 были заменены на 2 новых стандарта

Король умер. Да здравствует король :D

Моя стратегия с итератором пока верна)))

kobezzza 04.04.2015 12:39

Цитата:

Сообщение от nerv_ (Сообщение 364914)
Король умер. Да здравствует король :D

Моя стратегия с итератором пока верна)))

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

Особенно порадовал пример:

$(".some-link").on("click", ::view.reset);


Т.е. тут this будет ссылаться на view, а не на ноду, т.е. если переписать на ES5, то будет так

$(".some-link").on("click", view.reset.bind(view));

kobezzza 04.04.2015 12:48

Кстати, мы как то пропустили новый синтаксис классов.

class Foo {
  // Публичное свойство
  a = 1;

  // Приватное свойство
  @b = 2;

  // Хз, можно ли так объявлять приватные методы, но вообще логично
  @foo() {
    // Обращение к приватному свойству
    this.@b = 3;
  }
}


Пока не понятно, будут ли такие свойства приватными (т.е. доступными только внутри класса) или протектед (т.е. доступные внутри класса и дочерних классов).

рони 04.04.2015 12:53

Цитата:

Сообщение от kobezzza
$(".some-link").on("click", function () { return view.reset.apply(this, arguments); });

с таким толмачом как ты, ES7 мне становится понятнее :write: :thanks:

kobezzza 04.04.2015 13:07

Цитата:

Сообщение от рони (Сообщение 364936)
с таким толмачом как ты, ES7 мне становится понятнее :write: :thanks:

:)

Цитата:

Т.е. тут this будет ссылаться на ноду, а не на view, т.е. если переписать на ES5, то будет так

$(".some-link").on("click", function () { return view.reset.apply(this, arguments); });

Напутал (писал в попыхах :D )

Наоборот, this будет прибиндин к view

$(".some-link").on("click", ::view.reset);


->

$(".some-link").on("click", view.reset.bind(view));

nerv_ 04.04.2015 13:44

Цитата:

Сообщение от kobezzza
Кстати, мы как то пропустили новый синтаксис классов.

становиться интереснее :)
Если не затруднит, на будущее, помимо выкладывания кода сюда, пожалуйста, давай еще ссылку на песочницу. А то твой текущий пример в ней не работает)

kobezzza 04.04.2015 14:36

Цитата:

Сообщение от nerv_ (Сообщение 364943)
становиться интереснее :)
Если не затруднит, на будущее, помимо выкладывания кода сюда, пожалуйста, давай еще ссылку на песочницу. А то твой текущий пример в ней не работает)

Оки, просто в Babel ещё не заимплементили.

Safort 04.04.2015 23:20

http://es6-features.org/

nerv_ 05.04.2015 09:18

Цитата:

Сообщение от Safort
http://es6-features.org/

что то мне не очень нравится качество примеров. Взять хотя бы этот

let m = new Map()
m.set("hello", 42)
m.set(s, 34) // что такое s?!
m.get(s) === 34
m.size === 2
for (let [ key, val ] of m.entries())
    console.log(key + " = " + val)


var m = {};
m["hello"] = 42;
// no equivalent in ES5 // да есть эквивалент (реализуется через массив)
// no equivalent in ES5 // и тут есть
Object.keys(m).length === 2;
for (key in m) {
    if (m.hasOwnProperty(key)) {
        var val = m[key];
        console.log(key + " = " + val);
    }
}

В качестве эквивалентов логичнее было ссылки на полифилы давать (для таких случаев).

Safort 05.04.2015 10:11

nerv_,
Цитата:

что то мне не очень нравится качество примеров.
Согласен, не все примеры корректны.


Часовой пояс GMT +3, время: 15:27.