שאלה בסיסית ב 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?
נזרקת שגיאה.
ניתן להכניס (לסוג השני) רק מספר שלם.
ניתן לראות כאן
 
נערך לאחרונה ב:

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

הפרק היומי

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


תהילים פרק קיט ב'

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

לוח מודעות

למעלה