06/05/2026 08:38น.

JS2GO EP.14 Zero Values ใน Go และ Default Values ใน JavaScript
#Go
#JavaScript
#Zero Values
#Default Values
#JavaScript กับ Go
การเข้าใจ ค่าเริ่มต้นของตัวแปร เป็นสิ่งสำคัญเพื่อป้องกันข้อผิดพลาดจากการใช้ตัวแปรที่ยังไม่ได้กำหนดค่า ใน Go และ JavaScript มีวิธีจัดการค่าเริ่มต้นที่แตกต่างกัน บทความนี้จะอธิบาย Zero Values ใน Go และ Default Values ใน JavaScript พร้อมตัวอย่างการใช้งาน ข้อดี และข้อควรระวังของแต่ละภาษา
Zero Values ใน Go
Go เป็นภาษาที่ มีการกำหนดประเภทตัวแปรชัดเจน (Statically Typed) ซึ่งหมายความว่าตัวแปรทุกตัวต้องมีประเภท หากไม่ได้กำหนดค่าเริ่มต้น Go จะใช้ค่า Zero Value ตามประเภทของตัวแปรนั้น ๆ
Zero Values ตามประเภทข้อมูล
| ประเภท (Type) | ค่า Zero Value |
|---|---|
int | 0 |
float64 | 0.0 |
string | "" (สตริงว่าง) |
bool | false |
| pointer | nil |
| slice/map | nil |
| struct | struct ที่ทุกฟิลด์เป็น Zero Value |
ตัวอย่างการใช้งานใน Go
package main
import "fmt"
func main() {
var a int
var b string
var c bool
var d []int
var e *int
fmt.Println(a) // 0
fmt.Println(b) // ""
fmt.Println(c) // false
fmt.Println(d) // []
fmt.Println(e) // <nil>
}
ข้อดีของ Zero Values ใน Go
- ป้องกันการใช้ตัวแปรที่ยังไม่ได้กำหนดค่า
- ทำให้โค้ดมีความปลอดภัยและ predictable
- สามารถตรวจสอบข้อผิดพลาดตั้งแต่ขั้นตอนการคอมไพล์
ข้อควรระวัง
- ผู้เริ่มต้นอาจสับสนหากไม่เข้าใจค่า Zero Value ของแต่ละประเภท
Default Values ใน JavaScript
ใน JavaScript ตัวแปรที่ประกาศแต่ไม่กำหนดค่าใด ๆ จะมีค่าเป็น undefined แต่คุณสามารถกำหนดค่าเริ่มต้นเองได้ หรือใช้ default parameters ในฟังก์ชัน
ตัวอย่างการใช้งาน Default Values ใน JavaScript
let a;
let b = "";
let c = false;
let d = null;
console.log(a); // undefined
console.log(b); // ""
console.log(c); // false
console.log(d); // null
Default Parameters ในฟังก์ชัน
function greet(name = "Guest") {
console.log(`Hello, ${name}!`);
}
greet(); // Hello, Guest!
greet("John"); // Hello, John!
ข้อดีของ Default Values ใน JavaScript
- ยืดหยุ่น สามารถกำหนดค่าเริ่มต้นได้ตามต้องการ
- ฟังก์ชันสามารถตั้งค่า default parameters ได้ทันที
ข้อควรระวัง
- ค่า
undefinedอาจทำให้เกิด bugs หากไม่ตรวจสอบก่อนใช้งาน - การใช้ default values แบบ dynamic ต้องระวัง type coercion
เปรียบเทียบ Zero Values และ Default Values
| คุณสมบัติ | Go | JavaScript |
|---|---|---|
| ระบบประเภทตัวแปร | Statically typed | Dynamically typed |
| ค่าเริ่มต้น | Zero Value ตาม Type | undefined หากไม่กำหนด |
| ความคาดเดาได้ | สูง (ชัดเจนตาม Type) | ต่ำ (ขึ้นอยู่กับค่าที่กำหนด) |
| ความปลอดภัย | สูงมาก | ต้องระวังการใช้ undefined |
| ความยืดหยุ่น | ต่ำ (ไม่สามารถเปลี่ยน Zero Value) | สูง (สามารถกำหนด default ได้) |
สรุปและคำแนะนำ
- Go: Zero Values ทำให้ตัวแปรทุกตัวมีค่าเริ่มต้นชัดเจน ป้องกันข้อผิดพลาดและเพิ่มความปลอดภัยของโค้ด เลือก Go หากต้องการ ความปลอดภัยและ predictable ในการจัดการตัวแปร
- JavaScript: Default Values ยืดหยุ่นสูง แต่ต้องระวัง
undefinedและ type coercion เลือก JavaScript หากต้องการ ความรวดเร็วและยืดหยุ่น ในการพัฒนา
ตอนต่อไป
ใน EP.15 ของซีรีส์ JS2GO เราจะพาคุณไปเรียนรู้ การใช้ Maps ใน Go และ JavaScript เพื่อจัดการ key-value pairs อย่างมีประสิทธิภาพและเหมาะสมกับโปรเจกต์ต่าง ๆ
อ่านบทความ Series อื่นๆ
🔵 Facebook: Superdev School (Superdev)
📸 Instagram: superdevschool
🎬 TikTok: superdevschool
🌐 Website: www.superdev.school