🟢 Node.js - REPL ו-CLI

📘 מה זה REPL?

REPL הוא ראשי תיבות של: Read, Evaluate, Print, Loop. זוהי סביבה אינטראקטיבית שמאפשרת להריץ פקודות JavaScript מיידית בתוך Node.js.

בעזרת REPL אפשר לבדוק ביטויים, להריץ פונקציות וללמוד את התנהגות השפה בצורה מהירה וישירה – בלי צורך בקובץ.

🚀 איך מפעילים REPL?

כדי להיכנס ל־REPL פשוט פותחים טרמינל וכותבים:

node

לאחר מכן תראה סימן חץ > שממתין לקלט. אפשר להקליד פקודות JavaScript.

💡 דוגמה להרצה ב־REPL

ב־REPL אפשר פשוט לכתוב ביטויים:

> 2 + 3
5

> const name = "Eylon"
undefined

> name.toUpperCase()
'EYLON'

שים לב שכל פקודה מחזירה את התוצאה, ואם מגדירים משתנה – יופיע `undefined` (כי אין ערך מוחזר מההגדרה).

🚪 איך יוצאים מ־REPL?

כדי לצאת פשוט מקלידים את הקיצור:

.exit

או לוחצים על Ctrl + C פעמיים.

💻 מה זה CLI?

CLI (Command Line Interface) הוא ממשק פקודות שמאפשר להריץ סקריפטים של Node.js, לשלוח פרמטרים ולהריץ אפליקציות דרך הטרמינל.

זו הדרך המרכזית להריץ קבצים, ליצור כלים אוטומטיים או ממשקי קונסול.

🚀 הרצת קובץ Node.js

כדי להריץ קובץ נכתוב בטרמינל:

node app.js

בתוך הקובץ נשתמש ב־console.log().

🔢 קריאת פרמטרים (process.argv)

כך נוכל לקבל פרמטרים מקו הפקודה:

// hello.js
console.log(process.argv);

// הרצה:
$ node hello.js Eylon 100

// פלט:
[
  '/usr/bin/node',
  '/path/to/hello.js',
  'Eylon',
  '100'
]

📥 קלט מהמשתמש (stdin)

אפשר גם לשאול שאלות תוך כדי הרצה:

process.stdout.write("מה שמך? ");

process.stdin.on("data", (data) => {
  const name = data.toString().trim();
  console.log(`שלום, ${name}!`);
  process.exit(0);
});

🚪 סיום תהליך

process.exit() מסיים את הריצה. 0 = הצלחה, מספר אחר = שגיאה.