שאלה בסיסית ב JavaScript

חני 0278

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

ההבדל בין:
[Let myArray = [5
לזה:
(5)Let myArray = new array

ההבדל הוא שבראשון 5 הוא איבר במערך, ובשני 5 הוא אורך המערך? (שואלת בכלליות, לאו דווקא במקרה הזה)
כפי שכתבתי, ניסיתי לחפש ומה שמצאתי זה מאמרים ארוכים שלא ממש הבנתי את הנקודה.
 

yitzhak123

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

ההבדל בין:
[Let myArray = [5
לזה:
(5)Let myArray = new array

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

ההסבר לזה שכל מערך הוא בעצם אובייקט 'מופע' של האובייקט הבנאי (constructor) שנקרא Array, אובייקט זה מכיל נכסים (המערך שנכנס לתוכו) ומתודות שונות שניתן להפעיל כגון המתודה length, ביצירת מערך רגיל - כגון בדוגמה הראשונה - נוצר מערך שמכיל גם נכסים וגם מתודות כמו כל מערך רגיל, ביצירה של מערך בדרך השניה המערך נוצר בלי הנכסים של מערך רגיל (ללא המערך עצמו) אבל עדיין עם המתודה של מערך רגיל - המתודה length.
 

חני 0278

משתמש מקצוען
הנדסת תוכנה
תודה על ההסבר הברור!
מתי יוצא להשתמש בסוג השני? ה constructor?
ומה כאשר האיברים במערך זה הם strings?
תודה רבה!
 

yitzhak123

משתמש סופר מקצוען
הנדסת תוכנה
מתי יוצא להשתמש בסוג השני? ה constructor?
לא יוצא, השימוש היחיד שאני יכול לחשוב עליו הוא בניסיון להתקיל מועמד בראיון למשרת js.
[והוא לא ה-constructor הוא ה'מופע' של ה-constructor, בלעז object instances].
ומה כאשר האיברים במערך זה הם strings?
נזרקת שגיאה.
ניתן להכניס (לסוג השני) רק מספר שלם.
ניתן לראות כאן
 
נערך לאחרונה ב:

אולי מעניין אותך גם...

לוח לימודים

מסלולי לימוד שאפשר לההצטרף
אליהם ממש עכשיו:

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכד

א שִׁיר הַמַּעֲלוֹת לְדָוִד לוּלֵי יי שֶׁהָיָה לָנוּ יֹאמַר נָא יִשְׂרָאֵל:ב לוּלֵי יי שֶׁהָיָה לָנוּ בְּקוּם עָלֵינוּ אָדָם:ג אֲזַי חַיִּים בְּלָעוּנוּ בַּחֲרוֹת אַפָּם בָּנוּ:ד אֲזַי הַמַּיִם שְׁטָפוּנוּ נַחְלָה עָבַר עַל נַפְשֵׁנוּ:ה אֲזַי עָבַר עַל נַפְשֵׁנוּ הַמַּיִם הַזֵּידוֹנִים:ו בָּרוּךְ יי שֶׁלֹּא נְתָנָנוּ טֶרֶף לְשִׁנֵּיהֶם:ז נַפְשֵׁנוּ כְּצִפּוֹר נִמְלְטָה מִפַּח יוֹקְשִׁים הַפַּח נִשְׁבָּר וַאֲנַחְנוּ נִמְלָטְנוּ:ח עֶזְרֵנוּ בְּשֵׁם יי עֹשֵׂה שָׁמַיִם וָאָרֶץ:
נקרא  6  פעמים

אתגר AI

געגוע קיצי • אתגר 138

לוח מודעות

למעלה