Как использовать оператор «!» в TypeScript для более чистого и эффективного кода
При работе с TypeScript вы могли столкнуться с оператором !
. Оператор !
— это ненулевой оператор утверждения, который сообщает компилятору, что переменная или свойство не являются нулевыми или неопределенными и должны рассматриваться как таковые. В этой статье мы обсудим, как использовать оператор !
в TypeScript и как правильно его использовать.
Знакомство с ненулевым оператором утверждения
Прежде чем мы углубимся в использование оператора !
, важно понять, что он делает. Оператор !
— это оператор утверждения типа, который сообщает компилятору TypeScript, что переменная или свойство не являются нулевыми или неопределенными и должны рассматриваться как таковые. Используя оператор !
, вы сообщаете компилятору, что уверены, что значение не является нулевым или неопределенным, и хотите избежать ошибки компиляции.
Использование оператора ненулевого утверждения
Вы можете использовать оператор !
, чтобы утверждать, что переменная или свойство не являются нулевыми или неопределенными. Вот пример:
function printName(name: string | null): void { console.log(name!.toUpperCase()); } printName(null); // throws an error printName('john'); // logs JOHN
В приведенном выше примере у нас есть функция printName
, которая принимает строковое или нулевое значение в качестве аргумента. Мы используем оператор !
, чтобы сообщить компилятору, что параметр name
не является нулевым или неопределенным. Если мы передадим нулевое значение функции printName
, она выдаст ошибку во время компиляции, потому что мы используем оператор !
, чтобы подтвердить, что значение не является нулевым или неопределенным.
Неправильное использование оператора !
может привести к ошибкам во время выполнения. Если значение переменной или свойства равно null или не определено, и вы используете оператор !
, это вызовет ошибку времени выполнения.
Правильное использование оператора ненулевого утверждения
Важно правильно использовать оператор !
, чтобы избежать ошибок во время выполнения. Вот несколько рекомендаций, которым следует следовать при использовании оператора !
:
- Используйте оператор
!
только в том случае, если вы уверены, что значение не является нулевым или неопределенным. - Избегайте использования оператора
!
в сложных выражениях. Вместо этого присвойте выражение переменной, а затем используйте оператор!
для этой переменной. - Используйте оператор
!
экономно. Лучше использовать защиту типа, чтобы сузить тип переменной или свойства.
Вот пример правильного использования оператора !
:
interface User { name: string; age?: number; } function printUserInfo(user: User): void { const { name, age } = user; if (!age) { console.log(`Name: ${name}`); } else { console.log(`Name: ${name}, Age: ${age}`); } } const user1 = { name: 'John', age: 30 }; const user2 = { name: 'Jane' }; printUserInfo(user1); // logs Name: John, Age: 30 printUserInfo(user2); // logs Name: Jane
В приведенном выше примере у нас есть функция printUserInfo
, которая принимает объект User
в качестве аргумента. Мы используем оператор !
для свойства age
, чтобы утверждать, что оно не является нулевым или неопределенным. Если свойство age
имеет значение null или не определено, мы используем защиту типа, чтобы сузить тип объекта user
.
Заключение
Оператор !
— это мощный инструмент в TypeScript, который может помочь вам избежать ошибок компиляции при работе с типами, допускающими значение NULL. Однако важно использовать его правильно.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Моя установка:
💻 Apple MacBook Pro M2 2023 г. — https://amzn.to/3N4uuQA
⌨️ Волшебная клавиатура Apple — https://amzn.to/40yo8vM
🖱 Apple Magic Mouse — https://amzn.to/40szCkx
🎧Биты от Dr. Dre Studio3 — https://amzn.to/3mUxgx8