Узнайте о различиях между Readonly и Const в TypeScript и о том, как их эффективно использовать

Две наиболее часто используемые функции в TypeScript — это readonly и const. Эти две функции часто путают друг с другом, но на самом деле они совершенно разные. В этой статье мы рассмотрим разницу между утверждениями readonly и const в TypeScript.

Что такое readonly?

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

Вот пример использования readonly:

interface Person {
  readonly name: string;
}

let person: Person = { name: "John" };
// This line will cause a compile-time error
person.name = "Jack";

В этом примере мы определяем интерфейс с именем Person, который имеет свойство readonly с именем name. Затем мы создаем объект типа Person и устанавливаем для свойства name значение "John". Наконец, мы пытаемся изменить значение свойства name на "Jane", но получаем ошибку времени компиляции, поскольку свойство name равно readonly.

readonly полезен в ситуациях, когда вы хотите предотвратить случайное изменение свойства или переменной. Его можно использовать для обеспечения того, чтобы определенные значения оставались постоянными на протяжении всего жизненного цикла программы.

Что такое const утверждение?

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

Вот пример использования утверждения const:

const a = 10 as const;

// This line will cause a compile-time error
a = 20;

В этом примере мы используем синтаксис as const, чтобы указать, что переменная a должна рассматриваться как константа. Затем мы пытаемся изменить значение a, но получаем ошибку времени компиляции, поскольку переменная равна const.

Утверждения const полезны в ситуациях, когда вы хотите гарантировать, что переменная никогда не будет изменена. Это может помочь предотвратить ошибки и сделать ваш код более надежным.

В чем разница между утверждениями readonly и const?

Хотя утверждения readonly и const могут использоваться для указания того, что значение не следует изменять, они используются в разных контекстах и ​​имеют разное поведение.

readonly используется для указания того, что свойство или переменная не могут быть изменены после того, как они были инициализированы. Это означает, что значение свойства или переменной не может быть изменено после его установки.

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

Ключевое различие между утверждениями readonly и const состоит в том, что readonly используется для свойств и переменных, которые являются частью объекта или интерфейса, а утверждения const используются для автономных переменных.

Кроме того, readonly свойства и переменные по-прежнему могут быть изменены во время выполнения с помощью методов мутации JavaScript, а const переменные вообще не могут быть изменены.

Заключение

Понимание разницы между утверждениями readonly и const важно для написания надежного и поддерживаемого кода на TypeScript. Надеюсь, эта статья будет вам полезна.

Спасибо за прочтение. Если вам понравилась эта статья, поддержите меня, став участником Medium.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.