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

Octane 15.03.2015 17:47

Цитата:

Сообщение от FINoM
кто-то вообще юзал Babel в восьмом осле?

Цитата:

Сообщение от FINoM
Знаю, что Бабель по идее подерживает ИЕ8 с некоторыми ограничениями

Babel реализует статик свойства классов через __proto__, поэтому код для IE10+
ChildClass.__proto__ = SuperClass;
SuperClass.staticProperty = 1;
ChildClass.staticProperty → 1

nerv_ 15.03.2015 18:47

Цитата:

Сообщение от FINoM
У тебя получилось переопределить _inherit?

у меня так было
Bar.inherit(Foo);

Цитата:

Сообщение от FINoM
возможность использовать акцессоры в ИЕ8

и аксцессоры я не использую

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

static почти не использую
кроме того поддержка ниже ie10 не интересует

Safort 25.03.2015 08:02

Предложение по декораторам https://github.com/wycats/javascript-decorators

Safort 25.03.2015 22:30

Не помню, было тут или нет, но на всякий случай выложу: https://github.com/tc39/ecma262/blob/master/README.md (идеи для ES7)

Erolast 26.03.2015 09:27

Цитата:

Сообщение от Safort (Сообщение 362965)
Предложение по декораторам https://github.com/wycats/javascript-decorators

Круто.

@abstract class Model {
    constructor(data) {
        Object.assign(this, data);
    }
}

console.log(new Model()); //TypeError: Cannot directly instantiate an abstract class

function abstract(target) {
    return new Proxy(target, {
        construct() {
            throw new TypeError("Cannot directly instantiate an abstract class");
        }
    })
}

Safort 01.04.2015 20:57

Что-то я туплю с генераторами, может кто-нибудь объяснит как надо?
Дано: koa.js, нативный драйвер mongodb и неосиляторство генераторов.
Вопрос: как вывести данные на страницу(да-да, вот так всё у меня запущено)?

Код(для облегчения примера, заменил запрос к БД на обычный таймер):

app.get('/query', function*() {
    let _this = this;

    setTimeout(function() {
      _this.body = 'ответ';
    }, 100);
});

В консоль выдаёт
Цитата:

Error: Can't set headers after they are sent.
Как быть? :(

Octane 01.04.2015 23:00

таймаут в генераторе на заменяет ожидание подключения к бд, у тебя должен быть yield, что-то типа такого:

app.get('/query', function*() {
    this.body = yield getBody();
});

Safort 01.04.2015 23:39

Octane,
так тоже пробовал. В консоли ошибок нет, но на странице выдает:
Цитата:

Method Not Allowed

kobezzza 02.04.2015 00:19

Блин, тоже надо Koa курить :)

kobezzza 04.04.2015 09:53

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

https://github.com/zenparsing/es-function-bind
https://github.com/zenparsing/es-private-fields

Поддержку из Babel пока убрали, хнык :(


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