از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
عملگر 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

