TypeScript - Переменные: Пособие для начинающих
Здравствуйте, будущий coding-суперзвезда! Я рад быть вашим проводником в увлекательное путешествие в мир переменных TypeScript. Как кто-то, кто teaches программирование уже много лет, я могу заверить вас, что понимание переменных похоже на обучение езде на велосипеде - как только вы это освоите, вы никогда не забудете это! Так что давайте окунемся и сделаем это весело, как вам нравится?
Объявление переменных в 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