במאמר הקודם דיברנו על סביבות עבודה שבהן נלמד על ECMAScript 6. הגיע העת ללמוד על הפיצ'ר הראשון של ECMAScript 6 – קבוע. קבוע בשפה הוא משתנה שלא ניתן לשנות אותו. משתמשים בו בדרך כלל להגדרות שלא אמורות להשתנות ואסור שהן ישתנו. הסינטקס הוא פשוט למדי:
const TEST = 10;
console.log(TEST);
במקום ה-var המוכר לנו, אנו מגדירים קבוע עם const. מקובל מאוד בכל שפות הסקריפט להגדיר קבועים עם אותיות גדולות.
אם אני אנסה להגדיר מחדש את המשתנה, אני אחטוף שגיאה מחרידה. אם אני אנסה להכניס ערך אחרי שהגדרתי את המשתנה, לא יקרה דבר אם אני לא משתמש ב-strict mode. אם מישהו לא מכיר את strict mode – זו הזדמנות מצוינת לעבוד איתו. המוד הזה אוכף כללים יותר קשוחים על הסקריפט ומציף שגיאות באופן יותר בולט. מומלץ להשתמש בו על מנת לוודא שהסקריפטים שלכם עמידים יותר לשינויים בשפה ובדפדפנים.
בכל מקרה, הנה הדוגמה – נסו זאת בעצמכם! קדימה, לא להתבייש, אפשר אפילו לפתוח את הקונסולה של כלי הפיתוח, להדביק ולבדוק 🙂
"use strict";
const TEST = 10;
TEST = 8; //Error on strict mode, ignore in non strict mode.
console.log(TEST);
var TEST = 8; //Error in all modes.
למי שמתעצל – הנה codepen
See the Pen es6 const by Ran Bar-Zik (@barzik) on CodePen.
לירן טל מסר לי שחשוב לציין שאם עושים השמה לאובייקט, אז התוכן של האובייקט עצמו יכול להשתנות.
עוד תוספת חשובה שהשמטתי בכתיבה המקורית היא שאפשר ליצור קבועים מאובייקט באופן הבא:
const {PROP1, PROP2} = {'PROP1': 1, 'PROP2: 2}
שימושי ביותר בכל פעם שצריך קבוע. נכון, זה לא סוג של קילר אפ, אבל זה בכל זאת משהו שמעולה להכיר ודוגמה נפלאה לזה שלא צריך להבהל מ ECMAScript 6. במאמר הבא, פיצ'ר הרבה יותר משמעותי.
3 תגובות
you can also extract several constants from an object (common with reacy)
const {PROP1, PROP2} = this.props;
תודה רבה על התגובה החשובה! אני אכניס אותה למאמר.
היי נהנית מאד לקרוא את המאמרים, תודה
נראה לי יש שגיאה בשורה הבאה: const {PROP1, PROP2} = {'PROP1': 1, 'PROP2: 2}
חסר סוגר ' אחרי ה PROP2.