Что значит знак "!" в typescript react.js?

Пользователь

от linnea , в категории: JavaScript , 20 дней назад

Что значит знак "!" в typescript react.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от maymie , 20 дней назад

@linnea 

Знак "!" в TypeScript имеет значение "non-null assertion operator" и используется для указания компилятору TypeScript, что переменная не может иметь значение null или undefined.


В React.js, знак "!" может использоваться в контексте работы с состоянием компонента. Например, если у вас есть состояние count, которое должно быть числом, вы можете указать, что оно не может быть null или undefined следующим образом:

1
2
3
4
5
const [count, setCount] = useState<number>(0);

function handleClick() {
  setCount(count + 1);
}


Здесь мы используем угловые скобки <number> для явного указания типа состояния count, а затем используем знак "!" после count внутри функции handleClick, чтобы указать компилятору TypeScript, что count не может быть null или undefined.


Однако, следует быть осторожным при использовании этого знака, так как неправильное применение может привести к ошибкам времени выполнения, если переменная все-таки окажется null или undefined.