כימוס אמיתי בג'אווה סקריפט
-
מקור https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#Field_declarations
במגירה של הועדה לתקני JS יושבת הצעה להצהרה על שדות למחלקות, זה אומר שיהיה ניתן להצהיר על נכסים של המחלקה מחוץ לקונסטרקטור, אפשר לתת להם ערך ברירת מחדל ואפשר להשאיר הצהרה ריקה לצורך תיעוד.
הבשורה הגדולה (לטעמי) היא שאפשר גם לכמס שדות, ומי שינסה לגשת אליהם מחוץ למחלקה יקבל שגיאה, כדי לכמס צריך להצהיר עליהם עם #.
דוגמת קוד:class Rectangle { #height = 0; #width; constructor(height, width) { this.#height = height; this.#width = width; } } new Rectangle().#width = 5 // Uncaught SyntaxError: Private field '#width' must be declared in an enclosing class
כרום ונוד כבר תומכים בזה בצורה מלאה.
פיירפוקס תומך בהצהרת שדות אבל לא בשדות פרטיים.
לוובפאק עדיין אין תמיכה בכלל בהצהרת שדות, וצריך להשתמש בבבלים או לוותר על ניתוח הקוד.