הגדרת מחרוזות בג'אווה סקריפט
מחרוזת היא רצף של תווים כלשהם (כגון, מילה או משפט) ומקיפים אותה במרכאות או בגרשיים.
מחרוזת לדוגמה: "I like Israel".
נבחין בין הערך 74, שהוא המספר 74, לבין הערך "74" (עם המרכאות), שהוא מחרוזת שכוללת את רצף התווים 7 ו-4.
דוגמאות להגדרת מחרוזות:
<script>
var name = "Daniel";
var street = "Herzel 57";
var city = "Tel Aviv";
var address = street + ", " + city;
var phone = "058-7654321";
var a = "5";
var b = "3";
var c = a + b;
console.log("Address: " + address); // result: Address: Herzel 57, Tel Aviv
console.log("c = " + c); // result: c = 53
</script>
המשתנה address הוגדר כמחרוזת בעלת ערך של שירשור של 3 מחרוזות: המחרוזת שבמשתנה street, המחרוזת " ," (פסיק ורווח אחריו) והמחרוזת שבמשתנה city.
המשתנה c הוגדר כשירשור של המחרוזת "5" עם המחרוזת "3", כלומר הוגדרה להיות המחרוזת "53". נשים לב כי הגדרנו את a ואת b כמחרוזות ולא כמספרים (מרכאות מקיפות את ערכי המחרוזת).
מניפולציות מתקדמות על מחרוזות
שפת Javascript כוללת סיפריה מובנית (כלומר, חלק מובנה וסטנדרטי של השפה) בשם String שמאגדת בתוכה הרבה מאוד פונקציות שמאפשרות מניפולציות שונות על מחרוזות.
דוגמאות למניפולציות על מחרוזות מהסיפרייה String:
<script>
var home = "Daniel went home yesterday";
var homeLen = home.length; // 26
var homeChar1 = home[5]; // l
var homeChar2 = home[home.length-1]; // y
var homeSlice1 = home.slice(12); // home yesterday
var homeSlice2 = home.slice(7, 11); // went
var homeSlice3 = home.slice(-9, 26); // yesterday
var homeSubstr1 = home.substr(12); // home yesterday
var homeSubstr2 = home.substr(7, 4); // went
var homeReplace = home.replace("yesterday", "2 days ago"); // Daniel went home 2 days ago
var homeUp = home.toUpperCase(); // DANIEL WENT HOME YESTERDAY
var homeLow = home.toLowerCase(); // daniel went home yesterday
</script>
הערך length מחזיר את אורך המחרוזת, בדוגמה שלנו 26.
הערך home[n] מחזיר את התו במקום ה-n. ספירת המקומות מתחילה מ-0 ולא מ-1. home[0] יחזיר את התו הראשון, במקרה שלנו D, ו-Home[5] יחזיר את התו ה-5, כלומר, התו השישי במחרוזת, במקרה שלנו התו l.
הפונקציה slice מחזירה חלק ממחרוזת. אם היא מקבלת ארגומנט יחיד (בסוגריים שאחרי הפקודה slice יש ערך יחיד), היא תחזיר את יתרת המחרוזת מאותו מיקום עד הסוף. ארגומנט שלילי נספר מסוף המחרוזת אחורנית. הערך slice(12) מחזיר את יתרת המחרוזת החל מהתו ה-12 ואילך. הערך slice(-9) מחזיר את יתרת המחרוזת החל מהתו ה-9 מהסוף (התו y) ואילך.
הפונקציה slice יכולה גם לקבל 2 ארגומנטים. במקרה כזה, היא תחזיר את קטע המחרוזת מהארגומנט הראשון ועד האחרון לא כולל אותו. slice(7,11) תחזיר את המחרוזת מהתו ה-7 עד התו ה-11 לא כולל התו ה-11, כלומר, מתו 7 עד וכולל תו 10. גם כאשר 2 יש ארגומנטים ניתן להשתמש במספר שלישי שיספור את התו מסוף המחרוזת, כמו למשל בדוגמה slice(-9,26).
הפונקציה substr מחזירה גם היא חלק ממחרוזת, רק שבניגוד ל-slice היא מקבלת תמיד 2 פרמטרים, הראשון הוא תו ההתחלה והשני כמות התווים. substr(7,4) תחזיר מהתו ה-7 סך הכל 4 תווים.
הפונקציה replace מחליפה קטע מחרוזת בקטע חלופי. אם הקטע חוזר כמה פעמים, יוחלף הקטע הראשון שנמצא.
הפונקציות toUpperCase ו-toLowerCase מחזירות את המחרוזת תוך הפיכה לאותיות גדולות או קטנות בהתאם.
נשים לב: כל הפונקציות מחזירות ערך שאותו ניתן להדפיס על המסך, להכניס למשתנה כלשהו, או להעביר אותו עיבוד כלשהו, אבל המחרוזת המקורית אינה משתנה ונשארת כפי שהיא.
ישנן פונקציות רבות עבור מניפולציות של מחרוזות. ניתן לצפות ברשימה המלאה כאן.