Получи случайную криптовалюту за регистрацию!

Вышел Typescript 4.4, что нового? Полный список изменений 1. | Evil Martians

Вышел Typescript 4.4, что нового?

Полный список изменений

1. Улучшили type assertions. Результат проверки типа можно присвоить в переменную, а потом использовать в условии, и TS применит сужение типа согласно проверке.

const isString = typeof x === «string»;
const isNumber = typeof x === «number»;
const isStringOrNumber = isString || isNumber;
if (isStringOrNumber) {
x; // Type of 'x' is 'string | number'.
} else {
x; // Type of 'x' is 'boolean'.
}


2. Расширили возможности индексов. Теперь можно использовать template string patterns (e.g. hello-${string}) и symbol.
type A {
[optName: `data-${string}`]: unknown;
}

let a: A = {
«data-blah»: true, // Works!
«unknown-property»: true, // Error!
};


3. Новый флаг exactOptionalPropertyTypes. Если поле объекта — опциональное, то ключа либо не должно быть вообще, либо с нужным значением.
type A = { key?: number }
let a: A = { key: undefined } // Так теперь нельзя


4. Добавили поддержку inlay-hints — подсказки типов/имен аргументов, которые давно есть в IDEA.