Size: a a a

2020 August 24

JD

John Doe in WebSec/LifeSec
Никита Сковорода
const zero = async () => 0

const run = async () => {
 for (let x = 0; x <= 0; x++) {
   const obj = { f: { THIS_SHOULD_NOT_BE_LOGGED: true, nah: 0 } }
   const value = {
     THIS_IS_LOGGED: await zero(),
     foo: obj.f?.nah,
   };
   console.log(value);
   
   const y = 0
   const z = () => y
   console.log('So z is not unused', z());
 }
};

run()
В жабаскрипте по идее у всех полей value должно быть 0.
источник

НС

Никита Сковорода... in WebSec/LifeSec
John Doe
В жабаскрипте по идее у всех полей value должно быть 0.
Да и в тс должен быть.
Это бага, которая там ещё и от таргета зависит.
источник

JD

John Doe in WebSec/LifeSec
А зачем полифилить авэйты если они и так везде доступны? А optional chaining не особо сложно заполифилить.
источник

НС

Никита Сковорода... in WebSec/LifeSec
Да они там где-то протеряли уникальность генерируемых переменных.
источник
2020 August 25

AI

Artsiom Ivanov in WebSec/LifeSec
Кажется TS пытается усидеть на 2 стульях: легко войти/разрабатывать и надежно разрабатывать. Хотя 2ое они даже не ставят целью (
источник

НС

Никита Сковорода... in WebSec/LifeSec
Artsiom Ivanov
Кажется TS пытается усидеть на 2 стульях: легко войти/разрабатывать и надежно разрабатывать. Хотя 2ое они даже не ставят целью (
Тс всё равно делает очень полезную штуку.
источник

AI

Artsiom Ivanov in WebSec/LifeSec
угу, об этом и споры "делает очень полезную штуку" vs "делает очень полезную штуку хорошо"
источник

НС

Никита Сковорода... in WebSec/LifeSec
И баланс про легко/надёжно можно долго обсуждать, но лучше сделать немного лучше код кучи проектов чем сильно лучше код половины проекта.
источник

НС

Никита Сковорода... in WebSec/LifeSec
То, что я тут бухчу про тс не значит, что я думаю, что он плохой.
Но держать в памяти его минусы стоит.
источник

DZ

Dmitry Zakharov in WebSec/LifeSec
Джаваскрипт имеет баг с this. И это баг, а не фича. Ни один язык из популярных контекст не теряет.
источник

DZ

Dmitry Zakharov in WebSec/LifeSec
И проблемы тайпскрипта править разрабам языка проще, чем тем кто делает javascript
источник

НС

Никита Сковорода... in WebSec/LifeSec
Dmitry Zakharov
Джаваскрипт имеет баг с this. И это баг, а не фича. Ни один язык из популярных контекст не теряет.
М? Если это задокументировано в спеке, то от этого не получится отойти не делая новый язык. Как esm, например.

А вот в тс есть реальные баги, когда он ведёт себя не так, как должен. И их больше, чем в v8 или даже в бабеле.
источник

НС

Никита Сковорода... in WebSec/LifeSec
Кстати.
источник

НС

Никита Сковорода... in WebSec/LifeSec
А где спека на тс?
источник

НС

Никита Сковорода... in WebSec/LifeSec
inb4: в коммитах реализации тс (которая забагована)
источник

НС

Никита Сковорода... in WebSec/LifeSec
Я очень порадуюсь если мне покажут спеку.
источник

AI

Artsiom Ivanov in WebSec/LifeSec
Никита Сковорода
То, что я тут бухчу про тс не значит, что я думаю, что он плохой.
Но держать в памяти его минусы стоит.
вот тут то и проблема, что нельзя доверять типам в TS (каким бы strict не обмазывался), всегда надо что-то держать в голове (
источник

НС

Никита Сковорода... in WebSec/LifeSec
Artsiom Ivanov
вот тут то и проблема, что нельзя доверять типам в TS (каким бы strict не обмазывался), всегда надо что-то держать в голове (
Линтеру тоже нельзя полностью доверять, почти все нестилистические правила обходятся.
Но он может найти пачку ошибок.

Надо помнить, что тс не панацея, и что рантайм проверки нужны.
Но он полезный. Если не полагаться на него через чур сильно, чтобы отломать другие проверки и сделать хуже.
источник

DZ

Dmitry Zakharov in WebSec/LifeSec
Никита Сковорода
Линтеру тоже нельзя полностью доверять, почти все нестилистические правила обходятся.
Но он может найти пачку ошибок.

Надо помнить, что тс не панацея, и что рантайм проверки нужны.
Но он полезный. Если не полагаться на него через чур сильно, чтобы отломать другие проверки и сделать хуже.
++
источник

DZ

Dmitry Zakharov in WebSec/LifeSec
Тс проверки, если мы про типы, это хелпер, как и линтер
источник