Понимание нотации TypeScript «variable!: type»: обеспечение необнуляемости

TypeScript – это популярный язык программирования, который добавляет статическую типизацию в JavaScript, предоставляя разработчикам расширенные инструменты и улучшенное качество кода. Одной из мощных возможностей TypeScript является возможность обеспечить ненулевое значение переменных с помощью нотации «variable!: type». В этой статье мы рассмотрим различные методы и примеры кода, которые демонстрируют использование этой нотации, гарантируя, что переменные явно объявлены как ненулевые.

Метод 1: базовое использование

Самый простой способ использовать нотацию «variable!:type» — объявить переменную с восклицательным знаком после ее имени, за которым следует желаемый тип. Например:

let name!: string;
name = "John";
console.log(name.toUpperCase()); // No compile-time error since name is guaranteed to be non-null

Метод 2: Свойства класса

При использовании нотации «переменная!: тип» внутри класса она становится особенно полезной для инициализации свойств класса, не допускающих значения NULL. Рассмотрим следующий пример:

class Person {
  name!: string;

  constructor(name: string) {
    this.name = name;
  }

  greet() {
    console.log(`Hello, ${this.name}!`);
  }
}
const person = new Person("Alice");
person.greet(); // Outputs: "Hello, Alice!"

Метод 3: необязательная инициализация

В некоторых случаях вам может потребоваться инициализировать ненулевую переменную позже в вашем коде. Чтобы добиться этого, вы можете использовать ключевое слово «undefined» при объявлении переменной:

let age!: number | undefined;
// ... some code
age = 25;
console.log(age * 2); // Outputs: 50

Метод 4: Параметры функции

Обозначение «variable!: type» также можно использовать с параметрами функции, чтобы гарантировать, что передаваемые аргументы не равны нулю. Вот пример:

function greetUser(name!: string) {
  console.log(`Hello, ${name}!`);
}
greetUser("Bob"); // Outputs: "Hello, Bob!"

Нотация TypeScript «variable!: type» — это мощный инструмент для обеспечения недопустимости значений NULL, повышения безопасности кода и предотвращения ошибок, связанных с NULL или неопределенными значениями. Явно объявив переменные ненулевыми, вы можете обнаружить потенциальные проблемы во время компиляции, а не во время выполнения. В этой статье мы рассмотрели несколько методов с примерами кода, чтобы проиллюстрировать использование этой записи в различных сценариях. Эффективно используя эту функцию, вы сможете писать более надежный и удобный в обслуживании код TypeScript.