Pull to refresh
13
0
Дымков Павел @PavelDymkov

Frontend разработчик

Send message
Из комментария выше можно выделить два метода: с .valueOf и совсем отмороженный с with. Так вот второй работает и с ===:
with({
    _a: 0,
    get a() {
        return ++this._a;
    }
}) {
    console.log(a === 1 && a === 2 && a === 3); // true
}
if (let x = Something(), x > 0)

Тут проблема в том, про при присвоении (операторы var, let и const), запятая интерпретируется как перечисление переменных:
let x = 1, y, z = 3;

И возможно только присвоение, иначе будет синтаксическая ошибка. Я к тому, что в принципе такой код невозможен:
let x = Something(), x > 0;
Тоже самое, но с оператором ! вместо void:
!async function () {
    // some code...
} ();
В ноде тоже есть DevTools:
$ node --inspect --debug-brk server.js

update: опоздал с комментарием
Спасибо, я не знал о существовании этого плагина. Ну изобрел велосипед — с кем не бывает =) Статистика установок jsx-control-statements показывает, что достаточно большое количество людей используют это решение. Это меня порадовало.
В общем, я сделал настолько фигню, что некоторые даже не смогли пройти мимо и не заминусовать статью, чтобы она не попала на главную и её никто не увидел. Содержание статьи-то нормальное, это то, что она описывает — минусовали. Обидно, но я переживу.
«Героическое решение проблем» — это называется эволюцией. Ни одна технология не появляется идеальной, но очень важно, чтобы в ней был заложен потенциал для развития. Тогда технология дорабатывается и становится лучше.
Пост, конечно, не про это, а про API Babel. Просто мне плагин показался хорошим примером, потому что в нем есть и работа с путями, и с областью видимости переменных, и изменение АСД, и всё это последовательно, чтобы можно было вести повествование.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity