TypeScript - Переменные: Пособие для начинающих

Здравствуйте, будущий coding-суперзвезда! Я рад быть вашим проводником в увлекательное путешествие в мир переменных TypeScript. Как кто-то, кто teaches программирование уже много лет, я могу заверить вас, что понимание переменных похоже на обучение езде на велосипеде - как только вы это освоите, вы никогда не забудете это! Так что давайте окунемся и сделаем это весело, как вам нравится?

TypeScript - Variables

Объявление переменных в TypeScript

Представьте переменные как контейнеры для хранения данных. Точно так же, как вы можете использовать разные коробки для хранения разных вещей дома, в TypeScript мы используем переменные для хранения разной информации.

Давайте начнем с азов:

В TypeScript у нас есть три способа объявить переменные:

Ключевое слово Описание
var Переменная с функциональным или глобальным scopes
let Переменная с блоковым scopes
const Переменная с блоковым scopes, которую нельзя перезаписать

Теперь давайте посмотрим, как это работает!

```typescript
var myName = "Alice";
let myAge = 25;
const myBirthYear = 1998;

В этом примере:

  • myName - это переменная, которая может быть изменена и доступна в течение всего своего scopes.
  • myAge также может быть изменена, но ограничена блоком, в котором она определена.
  • myBirthYear - это константа, что означает, что после установки ее нельзя изменить.

Вот забавный способ запомнить это: Представьте var как свободолюбивого подростка, который гуляет где хочет, let как более ответственногоadultа, который остается в границах, и const как упрямого дедушку, который отказывается измениться!

Утверждение типов в TypeScript

Теперь давайте поговорим о ut assertion. Это как decir TypeScript: "Доверься мне, я знаю, что делаю!" Это способ сказать, что вы, программист, знаете больше о типе значения, чем TypeScript.

Есть два способа faire type assertion:

let someValue: any = "Hello, TypeScript!";
let strLength: number = (<string>someValue).length;

// ИЛИ

let otherValue: any = "Hello again, TypeScript!";
let anotherStrLength: number = (someValue as string).length;

В обоих случаях мы говорим TypeScript treated someValue и otherValue как строк, хотя они объявлены как any.

Представьте это так: Если TypeScript - это осторожный друг, то ut assertion - это вы, говорящие: "Не волнуйся, я справлюсь!"

Автоматическое определение типов в TypeScript

Одна из coolest вещей в TypeScript - это его способность infer типы. Это как иметь真的很 умного друга, который может угадать, что вы думаете!

let favoriteNumber = 7;  // TypeScript infer это как число
let favoriteColor = "blue";  // TypeScript infer это как строку

В этих примерах мы не explicitly сказали TypeScript, какие типы у этих переменных, но он сам понял это. Неужели это не здорово?

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

Scope переменных в TypeScript

Понимание scope至关重要 в TypeScript. Это все о том, где ваши переменные живут и кто может к ним получить доступ.

Блок Scope

if (true) {
let blockScoped = "Я доступен только внутри этого блока";
console.log(blockScoped);  // Это работает
}
console.log(blockScoped);  // Это вызовет ошибку

В этом примере blockScoped как застенчивый друг, который выходит только в определенных ситуациях (внутри if блока).

Функциональный Scope

function greet() {
var message = "Hello!";
console.log(message);  // Это работает
}
greet();
console.log(message);  // Это вызовет ошибку

Здесь message как секрет, который только функция greet знает. Он не поделится им с кем-то еще!

Глобальный Scope

let globalVar = "Я доступен везде!";

function testScope() {
console.log(globalVar);  // Это работает
}

testScope();
console.log(globalVar);  // Это также работает

globalVar как тот друг, который приходит на каждую вечеринку - он доступен везде!

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

Заключение

И вот мы добрались до конца,朋友们! Мы отправились в путешествие по миру переменных TypeScript, от объявления до scope. Помните, практика makes perfect, так что не бойтесь экспериментировать с этими концепциями.

Вот маленький секрет из моих лет teaching: лучший способ learn - это делать ошибки. Так что вперед, пишите код, ломайте вещи и чините их. Так вы действительно поймете и запомните эти концепции.

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

Продолжайте программировать, stay curious, и помните - каждый expert когда-то был начинающим. У вас получится!

Credits: Image by storyset