Узнайте о различиях между 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 .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.