Обложка канала

Заметки про React

Короткие и полезные заметки про React

Заметки про React

3 года назад
Открыть в
Релиз TypeScript 5.0 Вышла стабильная версия TypeScript 5.0. Авторы обещают, что у большинства разработчиков обновление пройдет гладко. После RC есть небольшие изменения, основное из них – минимальная поддерживаемая версия Node.js 12.20. Кроме изменений, описанных в RC, есть другие изменения: Улучшение enum Теперь все enum будут enum перечислениями: каждый элемент enum будет иметь уникальный тип. Если в TypeScript 4.9.5 такой код работает:
enum E {
    Foo = 10,
    Bar = 20,
}

function takeValue(e: E) {}

takeValue(E.Foo); 
takeValue(123); 
То в TypeScript 5.0 вызов функции takeValue(123) будет выбрасывать ошибку, т.к. 123 не равен ни одному типу E. Поддержка export type *
// models/vehicles.ts
export class Spaceship {
  // ...
}

// models/index.ts
export type * as vehicles from "./vehicles";

// main.ts
import { vehicles } from "./models";
Улучшение поддержки JSDoc Добавлена поддержка @satisfies и @overload в документации JSDoc. devblogs.microsoft.com/typescr…ript-5-0
Заметки про React

Релиз TypeScript 5.0 Beta На днях вышел релиз мажорной версии TypeScript 5.0 Beta. В этом релизе много новых фич. Кратко о некоторых фичах релиза: Новый стандарт декораторов В TS уже были декораторы, и они были доступны под флагом. В версии 5.0 декораторы будут доступны без флага, а те декораторы, которые были доступны под флагом, объявлены как легаси. Пример использования новых декораторов: function loggedMethod( target: (this: This, ...args: Args) => Return, context: ClassMethodDecoratorContext Return> ) { const methodName = String(context.name); function replacementMethod(this: This, ...args: Args): Return { console.log(`LOG: Entering method '${methodName}'.`) const result = target.call(this, ...args); console.log(`LOG: Exiting method '${methodName}'.`) return result; } return replacementMethod; } class Person { // --snip-- @bound @loggedMethod greet() { …

Telegram