מיקרוסופט, איגליה ובלומברג מציעות לכלול תחביר להגדרה ב-JS 

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

נכון לעכשיו, שינויי אב הטיפוס שהוצעו להכללה בתקן ECMAScript הוגשו לדיונים ראשוניים (שלב 0).

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

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

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

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

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

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

לדוגמה, IDEs התומכים ב-TypeScript יוכלו להדגיש מיד שגיאות בקוד JavaScript כתוב ללא טרנספורמציות נוספות. בנוסף, תמיכה מובנית בסוגים תאפשר להריץ תוכניות הכתובות בניבי JavaScript עם סקריפט כמו TypeScript ו-Flow מבלי לעבור משפה אחת לאחרת.

מבין הסוגים, מוצע להוסיף "מחרוזת", "מספר" ו"בוליאנית", בהם ניתן להשתמש בעת הגדרת משתנים, פרמטרים של פונקציות, רכיבי אובייקט, שדות מחלקות, מערכים מוקלדים ("מספר[]"). כמו כן, מוצע לספק תמיכה עבור סוגים מעורבים ("מחרוזת | מספר") וגנריות.

בהתחשב בכל זה, אנו מתכננים להציג את ההצעה הזו לשלב 1 בישיבת המליאה הבאה של TC2022 במרץ 39. אנו נעשה זאת בתמיכה ובליווי של אלופי ההצעה השותפים שלנו, רוב פאלמר בבלומברג ורומלו סינטרה באיגליה.

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

בפגישה הבאה במרץ של ועדת TC39, מתוכנן לעבור לשלב הראשון בחינת ההצעה בהשתתפות קהילת המומחים של ECMA.

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.