DataRockie

JavaScript 101 สำหรับ Data Analyst รู้แค่ R Python ไม่พอแล้ว

ยุคนี้รู้แค่สองภาษาไม่ได้แล้ว ภาษาไทย + ภาษาอังกฤษ เดี๋ยว 555+

ภาษาที่หนึ่งเรียน R ภาษาที่สอง Python ภาษาที่สาม JavaScript 🤓

ถ้าวันนี้แอดเลือกเรียนได้แค่หนึ่งภาษา แอดจะเลือก JavaScript เป็นภาษาหลักที่อยากเขียนให้เก่ง ใช้ได้ทั้งในงาน software development เขียนเว็บ ทำ server ไปจนถึง data science

บทความนี้เราจะมาดูกันว่าทำไม data analyst ควรรู้พื้นฐาน JavaScript ติดตัวไว้บ้าง

Why Learn JavaScript?

JavaScript คือภาษาที่มีการใช้งานเยอะที่สุดในโลกในปี 2022 อ้างอิงจากรายงานของ Octoverse เพราะ 95% ของเว็บไซต์ในโลกนี้มีการใช้งาน JavaScript รูปแบบใดรูปแบบหนึ่งอยู่นั่นเอง

📝 ถึงแม้ว่าชื่อจะคล้ายกันแต่ JavaScript (JS) ไม่ได้เป็นอะไรกับ Java นะครับ ยั๊ง 555+

JavaScript คือภาษาที่มีการใช้งานเยอะที่สุดในโลกในปี 2022 (ที่มา Octoverse)

JS ถูกพัฒนาโดย Brendan Eich ที่ Netscape ในปี 1995 เค้าใช้เวลาแค่ 10 วันในการสร้าง JS ขึ้นมา from scratch สมัยนั้นเว็บเพิ่งเริ่มบูม โลกอยู่ในยุค the great wars of web browser

ถ้า HTML, CSS ใช้วางของบนเว็บ และตกแต่งให้สวยงาม JS คือภาษาที่เพิ่มลูกเล่น สร้าง interactive + dynamic web contents และ applications ทำให้เว็บเรามีชีวิต

นอกจากงาน software ทุกวันนี้ developers เริ่มใช้ JS ในงาน data science เช่นกัน

Google มี library TensorFlow.js ไว้สร้างโมเดล machine learning และ deep learning ด้วยภาษา JS รันโค้ดผ่าน web browser ได้เลย แอดลองแล้ว ง่ายพอๆกับ Python เลย 555+

ส่วนตัวแอดคิดว่า JavaScript เป็นภาษาที่เริ่มเขียนง่ายมาก ถ้าใครเคยเขียน R มาก่อนแล้ว (ถึงจะมาจากคนละโลก) แต่ syntax หลายอย่างมีความคล้ายกันพอสมควร

เราสามารถเขียน JS ได้บน web browser ของเราเลย ถ้าใครใช้ Google Chrome หรือ Microsoft Edge คลิกขวาเลือก inspect ไปที่หน้าต่าง console ก็เริ่มเขียนโค้ดได้ทันที

Inspect feature in Google Chrome/ Edge

สรุปคือเรียนภาษานี้ไว้ได้ใช้แน่นอน You can’t go wrong with JavaScript! ทำได้ทั้งงาน software และ data science จบในภาษาเดียว แถมพวก cloud ต่างๆก็รองรับ JS ดีมาก

Basic Building Blocks

เวลาเราเรียนภาษาใหม่ๆจะมีอยู่ 5 concepts ที่จะช่วยให้เราเข้าใจภาษานั้นได้เร็วขึ้นมาก R Python JavaScript มี concepts นี้เหมือนกัน ต่างกันที่วิธีการเขียนหรือ syntax นิดหน่อย

  • Variable
  • Data type
  • Data structure
  • Control flow
  • Function

บทความนี้แอดเขียน JavaScript บน Replit.com เป็น online text editor ใช้งานฟรี แอดชอบ replit เพราะมันใช้งานง่ายมาก เขียนโค้ดได้มากกว่า 50 ภาษาผ่าน web browser

สมัคร free account คลิกปุ่ม Create a Repl เลือก Node.js แล้วกดสร้างได้เลย

เปิด new replit เลือก node.js เป็น template
เปิด new replit เลือก node.js เป็น template

พอเข้ามาที่ text editor ได้แล้ว ให้เราเขียนโค้ดในไฟล์ index.js กดปุ่ม Run ผลลัพธ์จะแสดงในหน้าต่าง console ทางด้านขวา ตัวอย่างนี้แอดใช้ console.log() print สองข้อความใน console

JavaScript 101 on replit.com
replit interface

📝 แอดเคยเขียนแนะนำการใช้งาน Replit เบื้องต้นไว้แล้ว ลองอ่านเพิ่มเติมได้นะครับ

JavaScript 101

บทความ 101 มาเรียน basics ที่เราต้องรู้กันก่อน เริ่มจาก variable, function และ JSON

Variable

Developers ใช้ตัวแปรเก็บค่าบางอย่างที่ต้องการ reusable ใช้ซ้ำในโปรแกรม เป็น key concept ที่มีเหมือนกันทุกภาษา

วิธีการประกาศตัวแปรใน JavaScript จะใช้ keyword let หรือ const ความแตกต่างคือถ้าใช้ let เราสามารถ re-assign ค่าใหม่ที่ตัวแปรนี้ได้

// create new variables
let myName = "toy";
const school = "DataRockie";

// print values
console.log(myName)
console.log(school)

มาลอง re-assign ค่าที่ตัวแปร myName และ school

// reassign new values
myName = "kasidis";
school = "DataRockie School";

ตัวอย่าง TypeError เวลาที่เราพยายามจะ reassign ค่าตัวแปร const

error ที่เกิดจากการ reassign ค่าตัวแปร const
error ที่เกิดจากการ reassign ค่าตัวแปร const

📝 เราใช้ // เพื่อเขียน single line comment ใน JavaScript code

Function

หน้าที่ของ function คือการเปลี่ยน input เป็น output ที่เราต้องการ

JavaScript ใช้ keyword function เพื่อประกาศฟังก์ชันใหม่ ด้านล่างเป็น standard template ในการเขียน user defined function แบบง่ายๆ

// create a new function
function hello() {
  console.log("Hello world");
}

// call a function
hello()

Function จะมีหรือไม่มี input ก็ได้ ตัวอย่างนี้แอดเขียน sum() รับ inputs สองตัวคือ x, y

function sum(x, y) {
  return x + y;
}

เขียน function เสร็จแล้ว อย่าลืมเรียกใช้ function นั้นๆด้วยนะครับ เช่น

let result = sum(10, 15);
console.log(result); // 25

📝 Function จะเขียนง่ายๆ 1-2 บรรทัดหรือจะซับซ้อนแบบ code 1000 บรรทัดก็ได้ ขึ้นอยู่กับ scope ของ task นั้นๆ เราสามารถเขียน control flow และใช้ตัวแปรภายใน function ได้เช่นกัน

JSON

JSON ย่อมาจาก JavaScript Object Notation เว็บไซต์ W3schools เรียก JSON ว่า “lightweight data interchange format” เป็น data format ที่ data analyst เราทำงานด้วยบ่อยๆรองจาก csv file และ sql database

JSON จะเขียนคล้ายๆกับ JavaScript Object ใช้ concept แบบ key-value pair

{
  "firstname": "John",
  "lastname": "Doe",
  "city": "London",
  "age": 25
}

Developers เขียน API เพื่อรับส่งข้อมูลแบบ JSON กันแทบทุกวันนี้ จะเขียน code ภาษาอะไรก็เข้าใจได้เพราะ JSON มีฟีเจอร์เป็น language independent เข้าใจง่าย อธิบายจบในตัวมันเอง

JSON ได้รับความนิยมอย่างล้มหลาม จน developers ต้องพัฒนา database ที่ใช้เก็บข้อมูลประเภทนี้โดยเฉพาะ โดยรวมจะเรียกว่า Document-Oriented Database เช่น MongoDB, CosmosDB, Amazon DocumentDB เป็นต้น

📝 จริงๆ MongoDB เก็บข้อมูลแบบ BSON หรือ binary JSON ที่ efficient กว่า JSON ปกตินิดหน่อย รองรับ data types ได้หลายแบบ มี data model ที่ยืดหยุ่นกว่า SQL relational databases

Free Resources

สำหรับเพื่อนๆที่อยากศึกษา JavaScript เพิ่มเติม ลองดู free resources ด้านล่างได้นะครับ หนังสือ Eloquent JavaScript (3rd edition) อ่านฟรี รันโค้ดฟรีออนไลน์ ฝึกเขียนตามได้สบายๆ

ส่วนบทความ 102 แอดจะมารีวิว data types และ data structures ที่สำคัญในภาษา JavaScript ให้อ่านกัน รอติดตามได้เร็วๆนี้นะครับ


Free Newsletter ใหม่ของเพจเรา subscribe ฟรีที่ ❤️ Humble Guide 💛 Duck Philosophy

Leave a Reply