1. Волшебная лампа (Совет: Используйте nullish coalescing оператор)

В русских сказках волшебная лампа часто является источником неожиданных богатств и возможностей. В TypeScript, оператор nullish coalescing (??) позволяет извлекать значение из выражения, даже если оно является null или undefined.

let value = null;
let defaultValue = "default";
let result = value ?? defaultValue; // result = "default"

2. Золотое яблоко (Совет: Используйте optional chaining)

Золотые яблоки в русской мифологии часто олицетворяют нечто желаемое и ценное. В TypeScript, optional chaining (?.) - это "золотое яблоко", которое позволяет безопасно обращаться к вложенным свойствам объектов.

let user = { name: "Ivan", address: { city: "Moscow" } };
let city = user?.address?.city; // city = "Moscow"

3. Волшебный ключ (Совет: Используйте mapped types)

Волшебный ключ в русских сказках открывает любую дверь. Mapped types в TypeScript - это ваш "волшебный ключ", который позволяет создавать новые типы на основе старых.

type ReadOnly<T> = {
  readonly [P in keyof T]: T[P];
}

4. Золотой гусь (Совет: Используйте условные типы)

Золотой гусь в русских сказках является источником богатства. В TypeScript условные типы - это ваш "золотой гусь", который предоставляет вам богатство типов.

type IsNumber<T> = T extends number ? "yes" : "no";
type T1 = IsNumber<string>; // "no"

5. Ковер-самолет (Совет: Используйте Enum для организации наборов значений)

Как ковер-самолет в русских сказках, Enum в TypeScript помогает организовать наборы значений, делая их легко идентифицируемыми и управляемыми.

enum Color {
    Red,
    Green,
    Blue,
}
let c: Color = Color.Green;

6. Жар-птица (Совет: Используйте async/await для управления асинхронными операциями)

Жар-птица в русских сказках всегда была символом чего-то недостижимого и таинственного. В TypeScript асинхронные операции могут быть такими же сложными и непредсказуемыми, если их не управлять правильно. Использование async/await может помочь вам легко управлять асинхронностью.

async function getBirdData() {
    const response = await fetch('https://api.example.com/birds');
    const data = await response.json();
    console.log(data);
}

7. Богатырский доспех (Совет: Используйте интерфейсы для определения структуры объектов)

Богатырский доспех в русских сказках всегда защищал героя от вражеских ударов. Интерфейсы в TypeScript - это ваш "доспех", который защищает ваш код от неправильного использования объектов.

interface Bird {
    name: string;
    fly(): void;
}

8. Волшебная сила слов (Совет: Используйте литеральные типы для большей точности)

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

type CardinalDirection = "North" | "East" | "South" | "West";
let direction: CardinalDirection = "North";

9. Волшебная лошадь (Совет: Используйте Generics для универсальности и повторного использования кода)

В русских сказках волшебная лошадь всегда приходила на помощь герою в нужный момент. Generics в TypeScript - это ваша "волшебная лошадь", которая позволяет создавать универсальные шаблоны кода.

class ArrayContainer<T> {
    private array: T[];

    constructor() {
        this.array = [];
    }

    add(item: T): void {
        this.array.push(item);
    }
}

10. Волшебные слова (Совет: Настройка конфигурации TypeScript с помощью tsconfig.json)

В русских сказках волшебные слова могли открыть любые двери. В TypeScript вашим "волшебным словом" является файл конфигурации tsconfig.json, который позволяет вам настроить компилятор TypeScript под ваши нужды.

{
    "compilerOptions": {
        "outDir": "./dist",
        "sourceMap": true,
        "strict": true,
        "moduleResolution": "node",
       "esModuleInterop": true,
    }
}

Заключение

Так как в русских мифах, каждый совет здесь имеет свою мудрость и ценность. Надеюсь, они помогут вам стать более искусным и эффективным разработчиком TypeScript. Удачи вам в вашем путешествии по миру TypeScript!

Комментарии (14)


  1. dopusteam
    04.06.2023 16:48
    +3

    Как ковер-самолет в русских сказках, Enum в TypeScript помогает организовать наборы значений, делая их легко идентифицируемыми и управляемыми.

    Как то уж слишком натянуто.

    Хотя сама идея крутая, с этими тематическими аналогиями


    1. Fell-x27
      04.06.2023 16:48
      +2

      Чтобы аналогия работала, она должна соответствовать исходнику. А тут - в каждом пункте можно заменить очередную аналогию на "иисусью тряпку" и ничего не изменится.


  1. dark_ruby
    04.06.2023 16:48
    +16

    такое ощущение что "статья" писалась ради того чтоб в нее натыкали сгенерированных midjourney картинок, а TypeScript - так, рядом проходил.


  1. sanex3339
    04.06.2023 16:48
    +3

    Какое отношение имеют самые базовые основы TypeScript (а в некоторых случаях, вещи, являющиеся синтаксисом JavaScript) к продвинутым пользователям TypeScript?


  1. buka2312
    04.06.2023 16:48
    -9

    Good


  1. BukaByaka
    04.06.2023 16:48
    -8

    Hidden text

    good


  1. DanilaKosik
    04.06.2023 16:48
    -10

    Хорошая статья, особенно зашла аналогия про богатырский доспех???? По-другому не описать)

    Статья с использованием ИИ - интересная задумка, получилась очень качественная проба пера!

    Люди, которые пытаются казаться умнее за счет негативных комментариев, вам советую меньше распространять негатив!


  1. Namorono
    04.06.2023 16:48
    -10

    Good experience!


  1. Namorono
    04.06.2023 16:48
    -11

    Good experience!


  1. t3n3t
    04.06.2023 16:48
    +6

    Боты-то зачем в комментах?


  1. serginho
    04.06.2023 16:48

    Словосочетание "для продвинутых", конечно, лишнее. А так в целом необычная, прикольная статья.


  1. EvilBeaver
    04.06.2023 16:48
    +2

    Афтар, не кури больше, нинада тибе это фсё


  1. e44alex
    04.06.2023 16:48
    +2

    Nullish coascelling operator приехал из JS, к TS отношения не имеет. Как и async/await.

    Conditional access operator в примере вообще не нужен. Вот если бы в типе было name | undefined - - тогда да, вещь нужная и полезная. А так, это грязь в коде.

    Заголовок - как мне кажется, кликбейт. Я ожидал увидеть advanced practices, а не обзор базовых фич. Если подытожить статью, то в ней совет всего 1: используйте Typescript.

    А картинки красивые)


  1. dcooder
    04.06.2023 16:48

    Спасибо, поржал от души. Видно, что автор пытался применить ассоциации технических решений с объектами и явлениями реального (в его случае сказочного) мира. Сам по себе подход неплохой, но его нужно применять как приправу к основному блюду, особенно на таких серьезных технических ресурсах. А у автора получилась целая кастрюля приправы на две столовые ложки гарнира и маленький кусочек мяса.
    PS И да, накручивать комментарии - это плохо. Сразу же видно, что аккаунты одноразовые.