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)
dark_ruby
04.06.2023 16:48+16такое ощущение что "статья" писалась ради того чтоб в нее натыкали сгенерированных midjourney картинок, а TypeScript - так, рядом проходил.
sanex3339
04.06.2023 16:48+3Какое отношение имеют самые базовые основы TypeScript (а в некоторых случаях, вещи, являющиеся синтаксисом JavaScript) к продвинутым пользователям TypeScript?
DanilaKosik
04.06.2023 16:48-10Хорошая статья, особенно зашла аналогия про богатырский доспех???? По-другому не описать)
Статья с использованием ИИ - интересная задумка, получилась очень качественная проба пера!
Люди, которые пытаются казаться умнее за счет негативных комментариев, вам советую меньше распространять негатив!
serginho
04.06.2023 16:48Словосочетание "для продвинутых", конечно, лишнее. А так в целом необычная, прикольная статья.
e44alex
04.06.2023 16:48+2Nullish coascelling operator приехал из JS, к TS отношения не имеет. Как и async/await.
Conditional access operator в примере вообще не нужен. Вот если бы в типе было name | undefined - - тогда да, вещь нужная и полезная. А так, это грязь в коде.
Заголовок - как мне кажется, кликбейт. Я ожидал увидеть advanced practices, а не обзор базовых фич. Если подытожить статью, то в ней совет всего 1: используйте Typescript.
А картинки красивые)
dcooder
04.06.2023 16:48Спасибо, поржал от души. Видно, что автор пытался применить ассоциации технических решений с объектами и явлениями реального (в его случае сказочного) мира. Сам по себе подход неплохой, но его нужно применять как приправу к основному блюду, особенно на таких серьезных технических ресурсах. А у автора получилась целая кастрюля приправы на две столовые ложки гарнира и маленький кусочек мяса.
PS И да, накручивать комментарии - это плохо. Сразу же видно, что аккаунты одноразовые.
dopusteam
Как то уж слишком натянуто.
Хотя сама идея крутая, с этими тематическими аналогиями
Fell-x27
Чтобы аналогия работала, она должна соответствовать исходнику. А тут - в каждом пункте можно заменить очередную аналогию на "иисусью тряпку" и ничего не изменится.