[עמוד ראשי]
מושגים בסיסיים
1. רווחים ומרווחי שורות
JS מתעלמת מרווחים, טאבים וסימנים נוספים כגון "שורה חדשה", כאשר הם נמצאים בין אותיות ובתוך "tokens" וסימנים אחרים בתוכניות, מלבד כאלה שהם חלק קבוע ממחרוזת מסוימת.
token – מילת מפתח, שם משתנה, מס', שם פונקציה או ישות אחרת שבה אין אנו רוצים, בוודאות, לשלב סימנים כמו רווחים.
כאשר ממקמים רווח, טאב וכו' בתוך “token” מסויים, אנו מפרידים אותו למס' “tokens” , סמלים, לדוגמא, 123 הוא סימן נומרי אחד, לעומת זאת, 3 12 הינם שני סימנים נומריים נפרדים (ובדרך כך, נוצרת שגיאת תחביר).
בשל העובדה, כי ניתן להשתמש בסימנים בחופשיות בתוך תוכנית, כגון רווח, טאב וכו' (מלבד בתוך מחרוזות ו-“tokens” ), אנו חופשיים לעצב ולבצע "הזחה" בקוד התכנית, בצורה נקייה, מסודרת, קבועה ,ההופכת את הקוד לקריא ומובן.
2. נקודה פסיק (;)
משפטים, ביטויים, הצהרות ופקודות ב- JS בדרך כלל מלווים ב- ;(סימן נקודה פסיק), כמו בשפות C,C++,JAVA , זאת על מנת להפריד בין משפטים, הצהרות, פקודות וביטויים שונים.
ב- JS, ניתן להשמיט סימן נקודה פסיק ; במידה וכל פקודה ממוקמת בשורה נפרדת.
אך, השמטת סימן נקודה פסיק אינה "אימון" טוב לתכנות, כדאי להתרגל להשתמש בסימן זה.
למרות העובדה התאורטית כי JS מאפשרת סימן "הפסקת שורה"-line break בין כל שני tokens, העובדה כי JS מכניסה סימן נקודה פסיק באופן אוטומטי יוצרת חריגות לחוק זה.
אם נעצור שורת קוד, בצורה כזו, שהשורה לפני העצירה נראית כאילו הינה הצהרה מושלמת, JS חושבת שהשמטנו את הסימן ומכניסה סימן ; עבורנו ומשנה את המשמעות.
מס' מקרים בהם עלינו להיות זהירים הינם בשימוש בפקודות break,return ו- continue לדוגמא:
return
true;
JS חושבת :
return;
true;
ואנו כפי הנראה התכוונו :
return true;
3. הערות
JS, כמו JAVA תומכת בסגנון ההערות של C,C++ גם יחד.
כל טקסט, שממנו מופיע הסימן // מתייחסים אליו ועד לסוף השורה כאל הערה.
וגם, כל טקסט בין הסימונים /* and */ הינו הערה.
סגנון זה של הערה, יכול להשתרע על מס' שורות, אך, לא להיות מקונן, דוגמאות :
//  This is the single line comment.

/* This is a comment too */  // and here is another comment

/* This comment
* has 
* multiple
* lines. */
JS אף מכירה בסגנון הערות של דפי HTML <!--אך אינה מכירה ב- -- >.
ישנה סיבה מיוחדת לכך ש- JS מכירה בהערת HTML אך, מתייחסת אליה אחרת.
עבור דפדפנים מסוג 3 ומטה, שאינם תומכים ב- JS, נכניס את קוד ה- JS בהערת HTML, <!-- ……..--> וכאשר JS נתמכת, על מנת שדף ה-HTML לא יתייחס לקוד כאל הערה, וקטע ה-Script יוצג ויעוצב, נכתוב לפני סוגר הערת HTML // --> .
4. ביטויים מילוליים
ביטוי מילולי (literal), הינו ערך מידעי אשר מופיע בצורה ישירה בתכנית. דוגמאות :
1443
12.65
"Good Morning"
"Hi"
false
null
ב- 1.2 JS ביטויים מורכבים יותר נתמכים :
אובייקט :
{x:3 , z:8}
מערך :
[5,7,3,1]
ביטויים הינם חלק חשוב ונכבד בשפת תכנות, כאשר בלעדיהם לא ניתן לכתוב תכנית. הביטויים השונים מתוארים בפירוט בפרק הבא של טיפוסים וערכים.
5. מזהים
מזהה הוא בעצם שם. ב- JS מזהים משמשים כשמות משתנים ופונקציות, כחלק מתכונותיהם.
ב-1.2 JS מזהים משמשים גם כתוויות בלולאות.
החוקים עבור מזהים הם כמו ב-JAVA ובשפות רבות אחרות. התו הראשון חייב להיות תו ASCII, (_) או $.
התווים אחר כך יכולים להיות כל ספרה, אות ותו.
מספרים לא מורשים עבור התו הראשון, על מנת שנוכל להבחין בקלות בין מזהים למספרים.
דוגמאות :
$nice
_lovely
b97
class_ex
j
מזהים אינם יכולים להיראות כמו אחת ממילות המפתח השמורות, עבור מטרות אחרות.
6. מילים שמורות
ישנן מספר מילים שמורות ב-JS.
מילים אלו הן חלק מתחביר השפה עצמו.
דוגמאות למילים שמורות :
break do function null typeof
case else if return var
continue export import switch void
default false in this while
delete for new true with

מילים שמורות אשר אינן נתמכות בגרסא 1.2 ,אך נשמרות על ידי ECMA standard כאופציה להרחבת השפה בעתיד :

catch const enum finally throw
class debugger extends super try

מילים שמורות מ-JAVA כאופציה להרחבת JS בעתיד:

abstract final int private synchronized
boolean float interface protected throws
byte goto long public transient
char implements native short double
instanceof package static

מזהים נוספים שלא ניתנים לשימוש :

alertescapeMathparseFloatsetTimeout
argumentsevalmenubarparseIntstatus
ArrayfindmoveBypersonalbarstatusbar
blurfocusmoveToprintstop
BooleanframesnamepromptString
calleeFunctionNaNprototypetoolbar
callerhistorynetscapeRegExptop
captureEventshomeNumberreleaseEventstoString
clearIntervalInfinityObjectresizeByunescape
clearTimeoutinnerHeightopenresizeTounwatch
closeinnerWidthopenerrouteEventvalueOf
closedisFiniteouterHeightscrollwatch
confirmisNaNouterWidthscrollbarswindow
constructorjavaPackagesscrollByDate
lengthpageXOffsetscrollTodefaultStatuslocation
pageYOffsetselfdocumentlocatiovbarparent

אלו הם שמות תכונות, מתודות ובנאי שכבר בשימוש.
במידה ונשתמש בשמות אלו "נדרוס" את המזהה הקיים, דבר שאין רצוי לבצעו.
גרסאות שונות של JS ייתכן ומגדירות תכונות/פונקציות אחרות/נוספות כשמורות.
7. Case Sensitive
JS הינה שפת Case Sensitive (רגישה לאותיות גדולות/קטנות), משמע, מילות מפתח, משתנים, שמות פונקציות וכל מזהה אחר, צריך תמיד להכתב בצורה קבועה, שאינה משתנה.
לדוגמא המילים : onLine, Online, OnLine, ONLINE הן בעלות שימוש/משמעות שונה לגמרי.