از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
عملگر Non-Null Assertion در TypeScript
سرفصلهای مطلب
معرفی
در تایپ اسکریپت، ما اغلب با سناریوهایی مواجه می شویم که در آن باید ادعا کنیم که یک متغیر تهی یا تعریف نشده نیست. اینجاست که Non-Null Assertion Operator وارد عمل می شود.
این عملگر که با علامت تعجب (!
، به TypeScript می گوید که یک متغیر مطمئناً غیر تهی یا تعریف نشده است، حتی اگر نوع آن چیز دیگری را نشان دهد.
عملگر Non-Null Assertion چیست؟
در TypeScript، علامت تعجب (!
) اپراتور Non-Null Assertion Operator است. این عملگر یک عبارت postfix است که برای حذف استفاده می شود null
و undefined
از نوع یک متغیر
let myVar!: string | null;
myVar = 'Hello, rasanegar!';
console.log(myVar!.length); // 18
در مثال بالا، myVar
متغیری است که می تواند a باشد string
یا null
. با استفاده از Non-Null Assertion Operator بعد از myVar
، به TypeScript گفته می شود که این امکان را نادیده بگیرد myVar
بودن null
هنگام دسترسی به آن length
ویژگی.
متغیرهایی که می توانند تهی یا تعریف نشده باشند
در حالی که با متغیرهایی سروکار داریم که به طور بالقوه می توانند باشند null
یا undefined
، رسیدگی به این موارد برای جلوگیری از خطاهای زمان اجرا بسیار مهم است. اپراتور Non-Null Assertion یکی از راههای رسیدگی به این شرایط است.
let user!: {name: string, age: number} | null;
user = {name: 'John Doe', age: 25};
console.log(user!.name); // John Doe
در مثال بالا، user
متغیری است که می تواند یک شی با آن باشد name
و age
خواص، یا null
. با استفاده از Non-Null Assertion Operator بعد از user
، به TypeScript گفته می شود که این امکان را نادیده بگیرد user
بودن null
هنگام دسترسی به آن name
ویژگی.
استفاده از If Statements برای Type Guarding
راه دیگری برای رسیدگی به متغیرهایی که می تواند باشد null
یا undefined
با استفاده است if
بیانیه هایی برای محافظت از نوع به این ترتیب، ما می توانیم اطمینان حاصل کنیم که یک متغیر نیست null
یا undefined
قبل از تلاش برای دسترسی به خواص آن.
let user: {name: string, age: number} | null;
user = {name: 'John Doe', age: 25};
if (user) {
console.log(user.name); // John Doe
}
در اینجا، یک if
از عبارت برای بررسی اینکه آیا استفاده می شود user
است null
قبل از تلاش برای دسترسی به آن name
ویژگی. به این ترتیب می توانیم از خطاهای احتمالی زمان اجرا جلوگیری کنیم.
احتمالاً متوجه شده اید که این کار بیشتر از استفاده از آن است !
اپراتور که یکی از مزایای استفاده از آن است. بررسی تایپ به این روش هنوز هم روش خوبی در نظر گرفته میشود، اما با استفاده از Non-Null Assertion Operator میتوانیم آن را کاهش دهیم. روی طول کد ما نیز.
نتیجه
Non-Null Assertion Operator ابزاری مناسب در TypeScript برای برخورد با متغیرهایی است که به طور بالقوه ممکن است null
یا undefined
. با استفاده از این عملگر می توانیم به TypeScript بگوییم که امکان وجود متغیر را نادیده بگیرد null
یا undefined
هنگام تلاش برای دسترسی به ویژگی های آن.
با این حال، مهم است که بیش از حد از این عملگر استفاده نکنید، زیرا اگر متغیر مشخص شود می تواند منجر به خطاهای زمان اجرا شود. null
یا undefined
. متناوبا، تایپ guarding با if
از دستورات می توان برای جلوگیری از این خطاهای بالقوه زمان اجرا استفاده کرد.
منتشر شده در 1403-01-01 11:34:03