דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הגדרת מתודה של אובייקט ב-JS

הגדרת מתודה של אובייקט ב-JS

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 3 כותבים 353 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY מנותק
    yossizY מנותק
    yossiz
    כתב ב נערך לאחרונה על ידי yossiz
    #1

    נתקלתי בקוד המוזר הזה היום:

    let o = {
      async function () {
        // do stuff
      }
    }
    

    איזה שדה יש בתוך אובייקט o? איך קוראים לפונקציה הלכאורה אנונימית הזו?

    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

    I תגובה 1 תגובה אחרונה
    2
    • I מנותק
      I מנותק
      ivrtikshoret
      השיב לyossiz ב נערך לאחרונה על ידי
      #2

      @yossiz
      השאלה שלך היא איך אתה מגיע לפונקצייה?
      אם כן אז:

      o.function()
      
      תגובה 1 תגובה אחרונה
      2
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        @ivrtikshoret לא, לא הייתה פה שאלה מעשית.
        זה יותר שיתוף במשהו פלאי בצורת חידה, ואם לקרוא לזה שאלה אז היא למה ואיך זה עובד.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        yossizY תגובה 1 תגובה אחרונה
        4
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לdovid ב נערך לאחרונה על ידי
          #4

          @dovid כתב בהגדרת מתודה של אובייקט ב-JS:

          לא הייתה פה שאלה מעשית

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

          אגב, בעוד שאני עובד על הבנת הקוד ראיתי דבר שלא ידעתי מקודם:
          יש שני הבדלים ב-JS בין פונקציה למתודה

          פונקציה

          let x = {
            foo: function() {}
          }
          
          • יכול להיות constructor. כלומר, הקוד הזה לא יזרוק שגיאה: new x.foo
          • לא יכול להשתמש במילת המפתח super

          מתודה

          let x = {
            foo() {}
          }
          
          • לא יכול להיות בנאי, הקוד: new x.foo יזרוק שגיאה
          • יכול להשתמש במילת המפתח super כדי לציין את הפרוטוטייפ שלו. האיגוד של super לפורטוטייפ הוא סטטי וזה לא משתנה לפי צורת הקריאה של הפונקציה, בניגוד לאיגוד של this

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          תגובה 1 תגובה אחרונה
          5

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

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