הגדרת משתנה כקבוע (const) גם כאשר לא מתוכנן להשתמש בו לאורך זמן - יש עניין? (JS)
-
מקווה שניסחתי טוב את הכותרת...
השאלה היא יותר רעיונית ולא "בעיה למעשה".
האם יש עניין להגדיר משתנה כקבוע (const
), כאשר אין לזה משמעות לכאורה?
לדוגמה בתוך לולאה, שזה ממילא מתפוגג.
לדוגמה (בדוגמה הזאת באמת אין עניין בכלל להגדיר את number, אבל דוגמה זה דוגמה ) :for (let index = 0; index < 10; index++) { let number = index; console.log(number); }
האם יש עניין להגדיר את
number
כקבוע?
זה שאלה כללית, לא רק על קוד כזה קטן, אלא על כל משתנה שמוגדר בתוך סקופ מתפוגג ולא רלוונטי למשך זמן. -
let וconst נוספו בשנים האחרונות לJS, מתוך הבנה שגמישות היתר שהציע הVAR גורם ליותר מידי צרות.
בהחלט אפשר להסתפק בlet, אבל אחד הדברים שלמדתי והפכו אותי מתכנת מתחיל למתכנת מקצועי, היתה ההבנה שבתכנות עדיף כמה שיותר "לנעול" את עצמך ולא להיפך. זה אולי מוריד מעט מהכיפיות והזרימה של כתיבת הקוד בהתחלה, אבל זו דרך הרבה יותר בטוחה לנהל קוד תקין ויעיל וגם מובן.
השפות המקצועיות יותר דורשות הרבה יותר קשיחות (הצהרה על סוגי משתנים ועוד) ושפות כמו JS ופייתון פופולריות יותר בין השאר כי הן מאפשרות יותר גמישות. אבל יש דרך אמצע, ודוגמה לכך היא שימוש בכלים ה"קשיחים" יותר שהוכנסו לJS כדי לענות על הצורך הזה.
אגב, זה הערך מוסף המרכזי ש typeScript נותן על פני JS רגיל. -
-