На этой вашей мутабельность держиться большинство фраемворков(angular), тот же Vue биндит реактивные свойства через замыкание по сути вообще костыль для избежания рекурсии, и таких приемов очень много. Проблема кажется более надуманная, поскольку большинство знают что не примитивные типы передаются по ссылке. Если для вас это действительно проблема Object.defineProperty или typescript вам в помощь.
Благодаря этой заглушки они усилили типизацию как раз, потому что теперь если метод принципе не может принять примитив он не будет допущен ts компилятором. any — такое бы позволил.
Синтаксис так себе, интуитивно не понятный, по сути скрестили кота с ежом без без поддержки кота и ежа. И вызовы конструктора базового класса, тоже не удобно, нужны обертки. Сверху правы берите Vue и не мучайтесь
Я про то что вот так примерно Vue следит за изменениями реактивных переменных, вот таким способом они избегают возможную рекурсию:
Ты вообще о чем? Я если что не про "bind call или apply"
Супер! Отличный доклад, схранил
Я так понял, это доклад был на HighLoad 2017 Moscow. Вот ссылка кому интересно на видео версию: https://youtu.be/Ygfwwd490mk?t=1h2m7s
На этой вашей мутабельность держиться большинство фраемворков(angular), тот же Vue биндит реактивные свойства через замыкание по сути вообще костыль для избежания рекурсии, и таких приемов очень много. Проблема кажется более надуманная, поскольку большинство знают что не примитивные типы передаются по ссылке. Если для вас это действительно проблема Object.defineProperty или typescript вам в помощь.
Благодаря этой заглушки они усилили типизацию как раз, потому что теперь если метод принципе не может принять примитив он не будет допущен ts компилятором. any — такое бы позволил.
Да обычный препроцессор
TS проверяет все на этапе компиляции в js. По сути не валидный ts код, может быть валидный в js(если конечно через force скомпилить)
Синтаксис так себе, интуитивно не понятный, по сути скрестили кота с ежом без без поддержки кота и ежа. И вызовы конструктора базового класса, тоже не удобно, нужны обертки. Сверху правы берите Vue и не мучайтесь
Я думаю, что ко многим виджетам звонка можно написать короткую обертку для методов, и потом назвать "несколько строк кода"
Большое спасибо за ваш интересный опыт