ความหมายของ Javaสคริปต์? บทนำพร้อมตัวอย่าง "Hello World"
⚡ สรุปอย่างชาญฉลาด
JavaScript คือภาษาโปรแกรมที่ทำให้เว็บเพจมีปฏิสัมพันธ์ได้ บทนำนี้จะอธิบายว่า Script คืออะไร Javaสคริปต์คือที่มาของสคริปต์ วิธีที่เบราว์เซอร์และ Node.js ประมวลผล และวิธีการเขียนและเรียกใช้สคริปต์ "Hello World" ตัวแรก

ความหมายของ Javaสคริปต์?
JavaScript คือภาษาโปรแกรมระดับสูงที่เพิ่มพฤติกรรมให้กับหน้าเว็บ เป็นหนึ่งในสามเทคโนโลยีหลักของเว็บ ได้แก่ HTML ที่ให้โครงสร้าง CSS ที่ให้รูปลักษณ์ และ Script Javaสคริปต์จะสร้างปฏิสัมพันธ์ ทุกครั้งที่ช่องค้นหาแสดงคำแนะนำขณะที่คุณพิมพ์ รูปภาพสไลด์ หรือแบบฟอร์มลงทะเบียนแจ้งเตือนคุณเกี่ยวกับช่องข้อมูลที่ขาดหายไป Javaสคริปต์กำลังดำเนินการนั้นอยู่เบื้องหลัง
แผนภาพด้านล่างแสดงให้เห็นว่าสคริปต์ทำงานควบคู่ไปกับโค้ด HTML ของเว็บเพจทั่วไปอย่างไร
ตลอดช่วงชีวิตส่วนใหญ่ Javaเดิมที Script ถูกอธิบายว่าเป็นภาษาสคริปต์ฝั่งไคลเอ็นต์ เนื่องจากทำงานได้เฉพาะภายในเบราว์เซอร์เท่านั้น แต่คำอธิบายนั้นไม่สมบูรณ์อีกต่อไปแล้ว เนื่องจากนับตั้งแต่ Node.js ปรากฏตัวในปี 2009 ภาษาเดียวกันนี้ก็ถูกนำไปใช้กับเว็บเซิร์ฟเวอร์ ยูทิลิตี้บรรทัดคำสั่ง แอปพลิเคชันเดสก์ท็อป และแอปพลิเคชันมือถือด้วย คำอธิบายที่ถูกต้องกว่าในปัจจุบันคือ Javaสคริปต์เป็นภาษาอเนกประสงค์ที่มีบทบาทสำคัญอย่างยิ่งในเบราว์เซอร์
ลักษณะเฉพาะที่กำหนดภาษาได้แก่:
- การกำหนดประเภทแบบไดนามิก: ตัวแปรอาจเก็บค่าตัวเลขในตอนนี้ และเก็บค่าสตริงในอีกสักครู่ ดังนั้นโปรแกรมจึงตรวจสอบประเภทข้อมูลขณะที่กำลังทำงาน
- แปลความหมายและรวบรวมข้อมูลแบบทันท่วงที: เอนจิ้นต่างๆ เช่น V8 ใน Chrome และ Node.js จะคอมไพล์โค้ดที่ใช้งานบ่อยให้เป็นโค้ดเครื่องจักรเพื่อเพิ่มความเร็ว
- หลายกระบวนทัศน์: รูปแบบการเขียนโปรแกรมทั้งแบบเชิงคำสั่ง เชิงฟังก์ชัน และเชิงวัตถุ ล้วนได้รับการสนับสนุน
- ขับเคลื่อนด้วยเหตุการณ์: โค้ดจะตอบสนองต่อการคลิก การกดแป้นพิมพ์ ตัวจับเวลา และการตอบสนองจากเครือข่าย แทนที่จะทำงานจากบนลงล่างแล้วหยุดping.
- การทำงานแบบเธรดเดียวพร้อมลูปเหตุการณ์: งานที่ใช้เวลานาน เช่น การเรียกใช้งานเครือข่าย จะถูกจัดคิวไว้แทนที่จะทำให้หน้าเว็บค้าง
💡 เคล็ดลับ: JavaScript และ ECMAScript ไม่ใช่ภาษาที่แข่งขันกัน ECMAScript คือข้อกำหนดที่เขียนขึ้น และ Javaสคริปต์คือการนำข้อกำหนดนั้นไปใช้งานจริง ซึ่งเบราว์เซอร์และ Node.js นำมาใช้งาน
ประวัติศาสตร์ของ Javaต้นฉบับ
เบรนแดน ไอช์ สร้างขึ้น JavaScript ที่ Netscape Communications ในปี 1995 สร้างต้นแบบที่ใช้งานได้จริงชิ้นแรกในเวลาประมาณสิบวัน ภายในบริษัทเรียกโครงการนี้ว่า กาแฟโมคะมันถูกติดตั้งมาในเวอร์ชันเบต้าของ Netscape Navigator 2.0 ไลฟ์สคริปต์ ในเดือนกันยายน พ.ศ. 1995 และได้รับการเปลี่ยนชื่อ Javaต้นฉบับ ในเดือนธันวาคม พ.ศ. 1995 ซึ่งเป็นส่วนหนึ่งของข้อตกลงทางการตลาดระหว่าง Netscape และ Sun Microsystems บริษัทที่เป็นเจ้าของ Java ในเวลาที่
การเปลี่ยนชื่อนั้นเป็นสาเหตุเดียวที่ทำให้ผู้เริ่มต้นหลายคนยังคงเข้าใจผิดอยู่ Javaสคริปต์เป็นเวอร์ชันน้ำหนักเบาของ Javaภาษาทั้งสองนี้ไม่มีความเกี่ยวข้องใดๆ กัน ทั้งในด้านการออกแบบ การเป็นเจ้าของ และการทำงาน Netscape ได้ส่งภาษาดังกล่าวให้แก่ Ecma International ในปี 1996 และมาตรฐาน ECMA-262 ฉบับแรกได้รับการเผยแพร่ในเดือนมิถุนายน ปี 1997 ตารางด้านล่างแสดงรายการเหตุการณ์สำคัญๆ ที่สำคัญที่สุดเมื่ออ่านโค้ดเก่าๆ
| ปี | ขั้น | ทำไมมันถึงมีความสำคัญ |
|---|---|---|
| 1995 | Mocha จากนั้น LiveScript จากนั้น Javaต้นฉบับ | ภาษาโปรแกรมนี้ถูกสร้างขึ้นที่ Netscape โดย Brendan Eich |
| 1997 | ECMA-262 ฉบับพิมพ์ครั้งแรก | ภาษาดังกล่าวได้รับมาตรฐานการเขียนที่เป็นกลางต่อผู้ผลิต |
| 2009 | ES5 และ Node.js เวอร์ชันแรก | โหมดเข้มงวดมาถึงแล้ว และ Javaสคริปต์หลุดออกจากเบราว์เซอร์ |
| 2015 | ES6 (ECMAScript 2015) | มีการเพิ่ม let, const, ฟังก์ชันลูกศร, คลาส, โมดูล และ promise เข้ามา |
| 2016 เป็นต้นไป | ECMAScript ฉบับรายปี | สินค้าขนาดเล็กจะวางจำหน่ายทุกเดือนมิถุนายน แทนที่จะเป็นการวางจำหน่ายครั้งใหญ่ในโอกาสพิเศษ |
เนื่องจากการออกเวอร์ชันใหม่ทุกปี โค้ดที่เขียนก่อนปี 2015 จึงดูแตกต่างจากโค้ดสมัยใหม่อย่างเห็นได้ชัด บทช่วยสอนเก่าๆ ใช้... var ทุกที่ ในขณะที่โค้ดปัจจุบันต้องการ let และ const โดยหมายถึง การประกาศตัวแปรใน Javaต้นฉบับ.
ความหมายของ Javaสคริปต์นี้ใช้สำหรับอะไร?
Javaภาษาสคริปต์ไม่ได้จำกัดอยู่แค่เทคนิคเล็กๆ น้อยๆ บนหน้าเว็บอีกต่อไปแล้ว ไวยากรณ์เดียวกันนี้ปรากฏอยู่ในสี่ที่ที่แตกต่างกันอย่างสิ้นเชิง ซึ่งเป็นเหตุผลว่าทำไมมันถึงได้รับการจัดอันดับให้เป็นหนึ่งในภาษาที่ใช้กันอย่างแพร่หลายที่สุดในการสำรวจความคิดเห็นของนักพัฒนาซอฟต์แวร์
| พื้นที่ | อะไร Javaสคริปต์ทำตรงนั้น | เครื่องมือทั่วไป |
|---|---|---|
| ส่วนหน้าของเบราว์เซอร์ | จัดการการคลิก อัปเดตหน้าเว็บโดยไม่ต้องโหลดหน้าใหม่ ตรวจสอบความถูกต้องของแบบฟอร์ม และวาดแผนภูมิ | React, Vue, Angular, Svelte |
| ฝั่งเซิร์ฟเวอร์ | รองรับคำขอ HTTP ติดต่อกับฐานข้อมูล และสร้าง API แบบ REST หรือ GraphQL | Node.js, Deno, Bun, Express |
| แอปพลิเคชั่นมือถือ | สร้าง Android และแอป iOS จากโค้ดเบสเดียวกัน | รีแอคเนทีฟ Ionicตัวเก็บประจุ |
| แอปพลิเคชันเดสก์ท็อป | ห่อหุ้มส่วนติดต่อผู้ใช้บนเว็บไว้ในหน้าต่างเนทีฟ พร้อมสิทธิ์การเข้าถึงระบบไฟล์ | อิเล็กตรอน, ทอรี |
| เครื่องมือและระบบอัตโนมัติ | รวบรวมไฟล์สินทรัพย์ รันชุดทดสอบ และควบคุมเบราว์เซอร์สำหรับการทดสอบแบบครบวงจร | Vite, webpack, Jest, นักเขียนบทละคร |
เกม การแสดงภาพข้อมูล ส่วนขยายเบราว์เซอร์ และโครงการฮาร์ดแวร์ขนาดเล็ก ล้วนอาศัยภาษาโปรแกรมนี้เช่นกัน สำหรับผู้เริ่มต้น ผลลัพธ์ในทางปฏิบัติก็ง่ายๆ คือ ความพยายามที่คุณใช้ไปกับไวยากรณ์ในตอนนี้ จะถูกนำไปใช้โดยตรงกับงานเซิร์ฟเวอร์ งานบนมือถือ และการทดสอบอัตโนมัติในภายหลัง หากคุณต้องการเห็นการนำภาษาไปใช้กับปัญหาจริง ให้ลองทำแบบฝึกหัดชุดหนึ่งดู ในทางปฏิบัติ Javaตัวอย่างโค้ดสคริปต์ เมื่อเข้าใจพื้นฐานแล้ว
วิธีการเรียกใช้ Javaสคริปต์?
Javaสคริปต์จะไม่ทำงานโดยอัตโนมัติ จำเป็นต้องมีสภาพแวดล้อมโฮสต์ที่มี... Javaต้นฉบับ เครื่องยนต์Chrome และ Edge ใช้ V8 Firefox ใช้ SpiderMonkey และ Safari ใช้ JavaScriptCore เมื่อเบราว์เซอร์ดาวน์โหลดหน้า HTML และพบสคริปต์ มันจะส่งสคริปต์นั้นไปยังเอนจินของมัน ซึ่งจะทำการวิเคราะห์ รวบรวม และเรียกใช้สคริปต์นั้น
สภาพแวดล้อมโฮสต์ที่สองคือ Node.js ซึ่งฝังเอนจิ้น V8 เดียวกันไว้ภายนอกเบราว์เซอร์ นั่นคือวิธีที่ภาษาเดียวกันทำงานบนเซิร์ฟเวอร์หรือในเทอร์มินัล ข้อได้เปรียบในทางปฏิบัติของ Javaสคริปต์คือว่า เบราว์เซอร์สมัยใหม่ทุกตัวรองรับฟังก์ชันนี้ on Windows, ลินุกซ์ และ macOSดังนั้นคุณจึงแทบไม่ต้องกังวลว่าผู้เข้าชมใช้เบราว์เซอร์ใด นี่เป็นการพัฒนาที่ดีขึ้นอย่างแท้จริงเมื่อเทียบกับ VBScript ซึ่งใช้งานได้เฉพาะใน Internet Explorer เท่านั้น Windows และปัจจุบันถูกยกเลิกการใช้งานไปแล้วพร้อมกับโปรแกรม Internet Explorer เอง
⚠️คำเตือน: เบราว์เซอร์ Javaสคริปต์และ Node.js Javaสคริปต์ใช้ภาษาหลักร่วมกัน แต่ไม่ได้ใช้ส่วนประกอบโดยรอบร่วมกัน document และ window มีอยู่เฉพาะในเบราว์เซอร์เท่านั้น และ require และโมดูลระบบไฟล์มีอยู่เฉพาะใน Node.js เท่านั้น การคัดลอกโค้ดระหว่างสองระบบโดยไม่ตรวจสอบจะทำให้เกิดข้อผิดพลาดด้านการอ้างอิง
เครื่องมือที่คุณต้องการ
คุณต้องใช้โปรแกรมแก้ไขข้อความเพื่อเขียนโค้ด และใช้เว็บเบราว์เซอร์เพื่อดูผลลัพธ์ Notepad++, Visual Studio Code, Sublime Textและโปรแกรมแก้ไขข้อความอื่นๆ ที่คุณถนัดก็สามารถใช้งานได้เช่นกัน แม้ว่าโปรแกรมแก้ไขข้อความที่มีฟังก์ชันเน้นไวยากรณ์และการจับคู่เครื่องหมายวงเล็บจะช่วยประหยัดเวลาในการแก้ไขข้อผิดพลาดได้มากก็ตาม เบราว์เซอร์ปัจจุบันใดๆ ก็สามารถใช้งานได้: Google Chrome, Firefox, Microsoft Edgeหรือ Safari ก็ได้ ไม่จำเป็นต้องซื้อหรือติดตั้งอะไรเพิ่มเติมไปกว่าสองรายการนี้
เรียบง่าย Javaสคริปต์โปรแกรม
ถ้าคุณเก็บ Javaสคริปต์ที่อยู่ภายในเอกสาร HTML นั้น โค้ดทั้งหมดต้องอยู่ระหว่างแท็กเปิด <script> และ <script> <script> ป้ายและการปิด </script> แท็กนี้เป็นวิธีที่เบราว์เซอร์ใช้แยกแยะโค้ดของคุณออกจากมาร์กอัปโดยรอบ หน้าเว็บเก่าๆ ก็มีการตั้งค่าแบบนี้เช่นกัน type คุณลักษณะ เขียนเป็น <script type="text/javascript">ซึ่งจำเป็นเมื่อมีภาษาฝั่งไคลเอ็นต์คู่แข่งอย่าง VBScript อยู่แล้ว หน้าเว็บสมัยใหม่ละเว้นส่วนนี้ไป เพราะ HTML5 ถือว่า... text/javascript เป็นค่าเริ่มต้น ทั้งสองเวอร์ชันด้านล่างนี้มีฟังก์ชันการทำงานเหมือนกัน และยังคงใช้งานได้ทั้งคู่
สวัสดีชาวโลก ตัวอย่าง
โปรแกรมแรกแบบดั้งเดิมจะแสดงข้อความ ใส่โค้ดต่อไปนี้ลงในไฟล์ชื่อ... hello.html แล้วเปิดในเบราว์เซอร์
<html>
<head>
<title>My First JavaScript code!!!</title>
<script type="text/javascript">
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
Output:
A browser dialog box opens containing the text: Hello World!
หมายเหตุ type="text/javascript" ไม่จำเป็นใน HTML5 โค้ดต่อไปนี้ทำงานได้เหมือนกันทุกประการ
<html>
<head>
<title>My First JavaScript code!!!</title>
<script>
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
Output:
A browser dialog box opens containing the text: Hello World!
เมื่อเนื้อหาในหน้าเริ่มยาวเกินกว่าสองสามบรรทัด ควรย้ายสคริปต์ไปไว้ในหน้าแยกต่างหาก .js ไฟล์ดังกล่าวช่วยให้มาร์กอัปอ่านง่ายและช่วยให้เบราว์เซอร์แคชโค้ดได้ ความแตกต่างต่างๆ ได้รับการอธิบายอย่างละเอียดในการเปรียบเทียบนี้ ภายในและภายนอก Javaต้นฉบับ.
วิธีเขียนและรันสคริปต์แรกของคุณ
มีวิธีปฏิบัติที่เป็นไปได้สามวิธีในการนำไปปฏิบัติ Javaสคริปต์นี้เหมาะสำหรับผู้เริ่มต้น และควรลองใช้ทั้งสามแบบ เพราะแต่ละแบบเหมาะกับสถานการณ์ที่แตกต่างกัน
1. คอนโซลของเบราว์เซอร์ นี่เป็นวิธีที่เร็วที่สุดและไม่จำเป็นต้องใช้ไฟล์ใดๆ เลย เพียงเปิดเว็บเพจใดก็ได้ แล้วกดปุ่ม F12 (หรือ Ctrl+Shift+ฉันบน Windows และสำหรับ Linux ให้กด Cmd+Option+I macOS) และเลือก ปลอบใจ แท็บ พิมพ์บรรทัดแล้วกด Enter ผลลัพธ์จะปรากฏขึ้นทันที เป็นสถานที่ที่เหมาะสำหรับการทดสอบนิพจน์เดี่ยวหรือตรวจสอบค่าที่ฟังก์ชันส่งกลับ
// Type each line into the browser console and press Enter console.log(2 + 2); console.log("Guru" + 99); console.log(Math.max(4, 12, 7)); console.log(typeof "hello");
Output:
4 Guru99 12 string
สังเกตบรรทัดที่สอง การเพิ่มเลข 99 เข้าไปในสตริง “Guru” จะสร้างสตริง “Guru99” ไม่ใช่ข้อผิดพลาด เพราะ Javaสคริปต์จะแปลงตัวเลขเป็นข้อความโดยอัตโนมัติ พฤติกรรมนี้สะดวกและเป็นสาเหตุคลาสสิกของข้อผิดพลาดสำหรับผู้เริ่มต้นใช้งาน
2. ไฟล์ HTML นี่คือตัวอย่าง "Hello World" ที่แสดงอยู่ด้านบน ใช้ตัวอย่างนี้เมื่อใดก็ตามที่โค้ดต้องเข้าถึงหน้าเว็บโดยตรง เช่น การอ่านค่าจากฟอร์ม หรือการเปลี่ยนแปลงองค์ประกอบใดองค์ประกอบหนึ่ง
3. ติดตั้ง Node.js จากเทอร์มินัล ติดตั้ง Node.js และบันทึกโค้ดลงในไฟล์ที่มีชื่อไฟล์ว่า... .js ส่วนขยาย จากนั้นเรียกใช้ node first-script.jsไม่มีอะไรแสดงผลเลย console.log กลายเป็นช่องทางแสดงผลของคุณ นี่คือเส้นทางที่คุณควรใช้เมื่อต้องการฝึกฝนคุณสมบัติของภาษาอย่างแท้จริงโดยไม่มี HTML เข้ามาเกี่ยวข้อง
// first-script.js const language = "JavaScript"; const createdBy = "Brendan Eich"; const releaseYear = 1995; console.log(language + " was created by " + createdBy + " in " + releaseYear + "."); const usedFor = ["Interactive web pages", "Server apps with Node.js", "Mobile apps"]; usedFor.forEach(function (item, index) { console.log(index + 1 + ". " + item); });
Output:
JavaScript was created by Brendan Eich in 1995. 1. Interactive web pages 2. Server apps with Node.js 3. Mobile apps
สคริปต์สั้นๆ นี้ใช้แนวคิดสามอย่างที่คุณจะพบเจออยู่เสมอ ได้แก่ ค่าคงที่ที่ประกาศด้วย const, แถว โดยเก็บรายการค่าต่างๆ และฟังก์ชันเรียกกลับที่ส่งผ่านไปยัง forEachการเขียนลูปเดิมซ้ำด้วย for การเขียนประโยคนี้เป็นแบบฝึกหัดที่มีประโยชน์เมื่อคุณได้ศึกษาเรื่องนี้แล้ว ลูปใน Javaต้นฉบับ.
Javaบทภาพยนตร์เทียบกับ Java
ชื่อเหล่านี้เป็นความผิดพลาดครั้งใหญ่ที่สุดในประวัติศาสตร์การเขียนโปรแกรม และความสับสนที่เกิดขึ้นนั้นควรได้รับการแก้ไขตั้งแต่เนิ่นๆ JavaScript ถูกเปลี่ยนชื่อจาก LiveScript ด้วยเหตุผลทางการตลาดล้วนๆ ในปี 1995 ในช่วงเวลาที่ Java เป็นเทคโนโลยีที่ถูกพูดถึงมากที่สุดบนเว็บ ภาษาทั้งสองถูกออกแบบโดยบุคคลที่แตกต่างกัน ในบริษัทที่แตกต่างกัน และเพื่อแก้ปัญหาที่แตกต่างกัน
| แง่มุม | Javaต้นฉบับ | Java |
|---|---|---|
| จัดทำโดย | เบรนแดน ไอช์ ที่เน็ตสเคป ปี 1995 | เจมส์ กอสลิง ที่บริษัทซัน ไมโครซิสเต็มส์ ปี 1995 |
| Typing | ไดนามิกและแบบกำหนดประเภทอย่างหลวมๆ | คงที่และกำหนดประเภทอย่างชัดเจน |
| วิ่งบน | เอนจิ้นเบราว์เซอร์และ Node.js | การขอ Java เครื่องเสมือน |
| การรวบรวม | คอมไพล์แบบทันเวลาโดยเอนจิ้นในระหว่างการทำงาน | คอมไพล์ล่วงหน้าเป็นไบต์โค้ดแล้ว |
| โมเดลวัตถุ | ใช้ต้นแบบเป็นพื้นฐาน โดยเพิ่มไวยากรณ์คลาสใน ES6 | แบ่งตามชั้นเรียนตั้งแต่เริ่มต้น |
| ไฟล์นามสกุล | . Js | .java ถูกคอมไพล์เป็น .class |
| การใช้งานทั่วไป | ส่วนหน้าเว็บ, API, เครื่องมือ | ระบบแบ็กเอนด์ระดับองค์กร Androidข้อมูลขนาดใหญ่ |
ความคล้ายคลึงกันเพียงอย่างเดียวคือทั้งสองภาษาใช้ไวยากรณ์วงเล็บปีกกาจากภาษา C การเรียนรู้ภาษาหนึ่งไม่ได้ทำให้คุณเรียนรู้ภาษาอื่นได้ แม้ว่าไวยากรณ์ที่ใช้ร่วมกันจะทำให้ภาษาที่สองอ่านง่ายขึ้นเล็กน้อยก็ตาม หากยึดหลักไวยากรณ์อย่างเคร่งครัดping ดึงดูดใจคุณ TypeScript เพิ่มเลเยอร์ประเภทคงที่ไว้ด้านบน Javaสคริปต์ขณะคอมไพล์เป็นไฟล์ธรรมดา Javaสคริปต์ และความแตกต่างต่างๆ ได้ถูกระบุไว้ในนี้แล้ว TypeScript และ Javaการเปรียบเทียบสคริปต์.
เมื่อวางรากฐานที่มั่นคงแล้ว ขั้นตอนต่อไปก็คือ... การโต้ตอบ Javaแบบฝึกหัดการเขียนบทแล้ว ตัวแปรและชนิดข้อมูล, ติดตามโดย อาร์เรย์ และ ลูป. หลังจากนั้น, เชิงวัตถุ Javaต้นฉบับ อธิบายว่าวัตถุ ต้นแบบ และคลาสต่างๆ ทำงานร่วมกันอย่างไร และ การจัดรูปแบบสตริง เนื้อหาครอบคลุมการจัดการข้อความที่คุณจะใช้ในสคริปต์เกือบทุกเรื่อง


