ג'אווה סקריפט היא שפה עם ״טיפוסיות דינמית״. נשמע רע בעברית נכון? הכוונה היא ל Dynamically Typed Language, כלומר שפה בה משתנים יכולים להחזיק ערכים מסוגים שונים בזמנים שונים.
ההבנה של סוגי הנתונים (Date Types) בג'אווה סקריפט היא הבסיס לכתיבת קוד יעיל (ובכלל). JavaScript מספקת מספר סוגי נתונים מובנים, המחולקים לטיפוסים פרימיטיביים ולאובייקטים.
TL;DR
הטבלה הבאה מסכמת את סוגי הנתונים השונים בג'אווה סקריפט יחד עם התיאור שלהם ודוגמאות.
סוג נתון | תיאור | דוגמה |
---|---|---|
String | מייצג נתונים טקסטואליים | let name = "John"; |
Number | מייצג ערכים מספריים (גם שלמים וגם עם נקודה צפה) | let age = 30; |
Boolean | מייצג ערכים לוגיים: true או false | let isActive = true; |
Null | מייצג היעדר מכוון של ערך אובייקט | let emptyValue = null; |
Undefined | מציין שמשתנה לא הוקצה לו ערך | let value; |
Symbol | מייצג ערך ייחודי ובלתי ניתן לשינוי | let symbol = Symbol('description'); |
BigInt | מייצג מספרים שלמים עם דיוק שרירותי | let bigIntValue = 1234567890123456789012345678901234567890n; |
Object | מייצג אוסף של תכונות | let person = { name: 'John', age: 30 }; |
Array | מייצג אוסף מסודר של ערכים | let numbers = [1, 2, 3, 4, 5]; |
Function | מייצג קטעי קוד הניתנים לשימוש חוזר | function greet() { return "Hello"; } |
סוגי הנתונים בג'אווה סקריפט מחולקים לשני סוגים עיקריים: טיפוסים פרימיטיביים וטיפוסים שאינם פרימיטיביים (המכונים גם טיפוסי ייחוס).
סוגי נתונים פרימיטיביים כוללים String, Number, Boolean, Null, Undefined, Symbol, ו-BigInt. סוגי נתונים שאינם פרימיטיביים כוללים Object, Array ו-Function.
סוגי נתונים פרימיטיביים
סוגי הנתונים הפרימיטיביים הם סוגי הנתונים הבסיסיים ביותר בג'אווה סקריפט. הם כוללים:
1. String
מחרוזות (Strings) מייצגות טקסט ונוצרות באמצעות גרשיים בודדים, גרשיים כפולים או גרשיים הפוכים ליצירת תבניות מחרוזות.
let greeting = 'Hello, World!';
let name = "John Doe";
let message = `Hello, ${name}!`; // תבנית מחרוזת
2. Number
מספרים מייצגים גם ערכים שלמים (Integers) וגם ערכים עם נקודה צפה (Floating Point) הכוללת נקודה עשרונית.
let age = 30; // מספר שלם
let pi = 3.14; // מספר עם נקודה צפה
let largeNumber = 1e6; // 1000000 (בכתיב מדעי)
3. Boolean
ערכי boolean מייצגים ערכים לוגיים: true או false.
let isActive = true;
let isComplete = false;
4. Null
Null מייצג היעדר מכוון של ערך באובייקט.
let emptyValue = null;
5. Undefined
Undefined מציין שמשתנה הוצהר אך לא הוקצה לו ערך.
let undefinedValue;
console.log(undefinedValue); // undefined
6. Symbol
Symbols הם ערכים ייחודיים ובלתי ניתנים לשינוי, ולעיתים קרובות משתמשים בהם בכדי לזהות תכונות אובייקט באופן ייחודי.
let symbol1 = Symbol('description');
let symbol2 = Symbol('description');
console.log(symbol1 === symbol2); // false
7. BigInt
BigInt משמש למספרים שלמים הגדולים מדי בכדי להיות מיוצגים באמצעות טיפוס מסוג Number.
let bigIntValue = 1234567890123456789012345678901234567890n;
console.log(bigIntValue); // 1234567890123456789012345678901234567890n
סוגי נתונים של אובייקטים
אובייקטים הם אוסף של תכונות הכוללים מבני נתונים מורכבים יותר כמו מערכים ופונקציות.
1. אובייקט – Object
אובייקט הוא אוסף של צמדי מפתחות וערכים (key-value pair):
let person = {
name: 'John',
age: 30
};
console.log(person.name); // John
כתבתי פוסט רחב יותר על Data Type זה בשם אובייקטים בג'אווה סקריפט למתחילים.
2. מערך – Array
מערך הוא אוסף מסודר של ערכים:
let numbers = [1, 2, 3, 4, 5];
console.log(numbers[0]); // 1
הנה פוסט נוסף על מערכים בג'אווה סקריפט.
3. פונקציה – Function
פונקציה היא קטע קוד שניתן לעשות בה שימוש חוזר:
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet('Alice')); // Hello, Alice!
וקיים גם פוסט ספציפית עבור פונקציות בג'אווה סקריפט. תנו מבט 🙂
סיכום
הבנת סוגי הנתונים בג'אווה סקריפט היא קריטית לכתיבת קוד יעיל ונקי מבאגים. JavaScript מספקת סט עשיר של סוגי נתונים, כולל סוגים פרימיטיביים כמו מחרוזות ומספרים, כמו גם סוגים מורכבים יותר כמו אובייקטים, מערכים ופונקציות.
שליטה בסוגי הנתונים אלו תעזור לכם לתפעל ולהשתמש בנתונים בצורה יעילה בקוד שלכם.
אם מצאתם את פוסט זה מועיל ייתכן שתרצו לבדוק את הפוסט על משתנים וקבועים בג'אווה סקריפט.