מדריך זה יבחן את ההבדל בין ריק ו לא מוגדר ערכים ב- JavaScript. לדעת ההבדל בין שני הערכים הללו חשוב לניפוי באגים וליצירת קוד ללא באגים.

השתמש במסוף הדפדפן שלך כדי לעקוב אחר או לנסות את דוגמאות הקוד הנדונות במדריך זה.

השוואת שוויון בין ערכים אפסים ובלתי מוגדרים

ב- JavaScript, ריק הוא ערך פרימיטיבי המשמש לציון העדר מכוון של ערך אובייקט, ואילו לא מוגדר הוא ערך פרימיטיבי הפועל כמציין מיקום למשתנה שלא הוקצה לו ערך.

ריק ו לא מוגדר הערכים שווים בהשוואה באמצעות אופרטור השוויון ב- JavaScript.

השתמש במפעיל השוויון (==) להשוואה אם ריק ו לא מוגדר הערכים שווים ב- JavaScript.

פתח את קונסולת הדפדפן והזן את הקוד הבא ולחץ להיכנס.

 null == לא מוגדר 

הפלט אמור לתת לך משהו שנראה כך, הערך הבוליאני שהוחזר של נָכוֹן פשוט אומר ששני הערכים שווים.

למד עוד: כיצד להכריז על משתנים ב- JavaScript

השוואה בין שוויון קפדני

ל- JavaScript יש גם מפעיל זהות (), הידוע גם כמפעיל שוויון קפדני בנוסף למפעיל השוויון (==)

מפעיל הזהות עושה את הקילומטר הנוסף על ידי בדיקה האם הסוג הבסיסי של הערכים המושווים זהה. פירושו של דבר הוא שלמרות ששני ערכים שווים, יתכן שהם לא יהיו זהים או שווים לחלוטין אם הסוגים הבסיסיים שלהם שונים.

כדי לבדוק שוויון קפדני, השתמש בסימן שווה משולש כמפורט להלן.

 לא מוגדר 

התוצאה של הפקודה לעיל תתן לך ערך בוליאני של שֶׁקֶר, במילים אחרות, שני הערכים אינם זהים למרות שהם שווים.

לגלות את סוג האפס ולא מוגדר

השתמש בפונקציית JavaScript המובנית סוג של() כדי לגלות את סוג הערך הבסיסי. הפונקציה לוקחת פרמטר יחיד של הערך שאת סוגו ברצונך למצוא.

קָשׁוּר: גיליון הרמאות האולטימטיבי של JavaScript

 typeof (null) 

ערך האפס הוא מסוג לְהִתְנַגֵד כפי שניתן לראות מהפלט למטה.

מבצע בדיקה דומה על לא מוגדר ערך ייתן לך תוצאה של לא מוגדר.

 סוג (לא מוגדר) 

עבודה עם מספרים

כדי לחפש הבדלים נוספים, ערוך את מבחן המספר ריק ו לא מוגדר ערכים. אם ערך הוא מספר, זה מרמז שנוכל לבצע בו פעולות מספריות.

ישנן שתי דרכים עיקריות לבדוק אם ערך הוא מספר ב- JavaScript.

1. משתמש ב isFinite () פונקציה - אם הערך הנבדק הוא מספר, הפונקציה חוזרת נָכוֹן; אחרת זה חוזר שֶׁקֶר.

2. משתמש ב isNaN () פונקציה - אם הערך הנבדק הוא מספר, הוא חוזר שֶׁקֶראחרת הוא חוזר נָכוֹן.

הערה: isNaN קיצור של "הוא לא מספר".

כדי לשמור על דברים פשוטים, מדריך זה ישתמש רק ב isFinite () פונקציה כדי לבדוק אם הערך הוא מספר, אך אל תהסס לנסות גם את isNaN () פוּנקצִיָה. שתי הפונקציות הללו לוקחות את הערך שברצונך להריץ את בדיקת המספר כפרמטר.

isFinite (null) 

התוצאה היא נָכוֹן, כלומר ריק הוא ערך מהסוג מספר ב- JavaScript. ואילו, ביצוע אותו מבחן ב לא מוגדר החזרות שֶׁקֶר.

isFinite (לא מוגדר)

הקלד כפייה

JavaScript היא שפה שהוקלדה באופן רופף, ובשל כך, בעת ביצוע פעולות מתמטיות JavaScript ימיר את התוצאה באופן אוטומטי לסוג שהוא רוצה.

למרבה הצער ההמרה האוטומטית הזו, שמכונה בדרך כלל כפיית סוג, יכולה להביא להפתעות רבות.

הפעל את הפעולה המספרית הבאה ריק ו לא מוגדר במסוף הדפדפן שלך.

1 + אפס
3 * אפס
1 + לא מוגדר
3 * לא מוגדר;

כפי שאתה יכול לראות, אתה יכול לבצע פעולות מספריות ב- ריק ערך מכיוון שמדובר במספר שאינו מחזיק בערך. לכן מתייחסים אליו כמו אפס. שימו לב לכך ריק אינו שווה ל- אֶפֶס ב- JavaScript, אבל איכשהו מתייחסים אליו ככה במקרה הזה.

הפעולות המספריות ב- לא מוגדר ערך תוצאה בהחזרת ה- NaN ערך (לא מספר). אם לא מטפלים בזהירות, אתה יכול לחוות זאת בזמן הריצה.

הימנעות מבאגי זמן ריצה

הבנה טובה של ריק ו לא מוגדר ערכים הם חיוניים בכדי להימנע מבאגים בזמן ריצה בקוד הייצור שלך. באגים הקשורים לא מוגדר קשה לפשט את הערכים וניתן להימנע מהם בצורה הטובה ביותר.

שקול להשתמש ב- TypeScript עבור קוד שהוקלד חזק שמכנס ל- JavaScript. ב- TypeScript הקוד שלך נבדק בזמן הידור כדי למזער באגים של זמן ריצה בקוד הייצור שלך.

אימייל
נושאים קשורים
  • תִכנוּת
  • JavaScript
  • טיפים לקידוד
על הסופר
Mwiza Kumwenda (22 מאמרים פורסמו)

Mwiza מפתחת תוכנה במקצועה וכותבת רבות על לינוקס ותכנות חזית. חלק מהאינטרסים שלו כוללים היסטוריה, כלכלה, פוליטיקה ואדריכלות ארגונית.

עוד מוויזה קומוונדה

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.