Pull to refresh

Comments 24

nullish coalescing — в тайпскрипте уже есть:

let o: any = {id: 1, name: "odin"}
console.log(o.name1 ?? o.name)

Хм, в JS тоже сработало
до финальной стадии стандарта эти фичи ещё не дошли, но браузеры их уже поддерживают, это нормально
Да есть. Просто автор некорректно написал заголовок статьи и по этой причине всё пошло по пи@#е не так как было задумано.
Статья о том, что включат в стандарт. То есть сейчас это работает, находится в стадии предложения внесения в стандарт, но может быть либо отклонено, изменено перед внесением и, наконец, внесено в стандарт.
> но может быть либо отклонено, изменено перед внесением и, наконец, внесено в стандарт

Боюсь, вы не правы. Это 4 этап TC39. Это означает, что ничего менять или отклонять уже не будут.
Да, я тоже не пейсатель, поэтому затронул весь этот период от Stage 0 до внесения в стандарт и не сказал об этом :)
nullish coalescing — в тайпскрипте уже есть

Как и Optional Chaining. А все остальное можно полифилами добить.

А ещё в ts есть +, -, = и много всего другого из javascript!
Вы в курсе что ts это js superset?

Всё-равно нужно как-то завезти поддержку синтаксиса и семантики в компилятор TS.

Насколько я понял, TS начинает активную поддержку новых proposal, начиная с их перехода на stage 3, т.е. незадолго до включения в стандарт.

Хоть мне и не лень написать код без Optional Chaining, но эта фича меня всегда радовала в других языках :) Радует как JS развивается в последние года.
> Optional Chaining

Я джвадцать джва года ждал эту фичу!
Я джвадцать джва года ждал эту
Uncaught TypeError: Cannot read property 'feature' of undefined

Ещё несколько лет, и JS превратится в удобный язык :)
Последние два пункта да, постоянная головная боль. Ждём-ждём!
> Попытка сложить BigInt с числом 4n + 2 приводит к исключению.
Удивляет, что от первоначальной философии языка отошли.
Впрочем, это хорошо и удобно для всех, кроме участников www.dwitter.net.
UFO just landed and posted this here
да, чёт странно, можно скаладывать всё что угодно, кроме BigInt, это явно не javascript

А в NodeJS удобно использовать этот сайт — https://node.green/


Как только LTS версия ноды делает шаг вперёд — самое время проверять чего добавили и изучать если что было пропущено.


BigInt уже там давно и лично продакшн код с ним писал, а вот например штуки с опциональным чейнингом посвежее.


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


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

UFO just landed and posted this here
Ура! Наконец-то на JS можно рассчитывать гос.долг США без переполнений
Сожалению Nullish Coalescing, Optional Chaining работают немного не так, как хочется.
Проверка идет только последнего элемента на (null, void 0), а не всей цепочки.

В каких жизненных ситуациях вы хотели бы, чтобы одним оператором делалось более одного действия сразу? О_о

UFO just landed and posted this here
Optional Chaining проверят тот элемент, к которому применён, а не последний.

In a deeply nested chain like a?.b?.c, why should I write?.. at each level? Should I not be able to write the operator only once for the whole chain?
By design, we want the developer to be able to mark each place that they expect to be null/undefined, and only those. Indeed, we believe that an unexpected null/undefined value, being a symptom of a probable bug, should be reported as a TypeError rather than swept under the rug.
Sign up to leave a comment.

Articles