การดู : 226

06/05/2026 08:38น.

JS2GO EP.14 Zero Values ใน Go และ Default Values ใน JavaScript

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
int0
float640.0
string"" (สตริงว่าง)
boolfalse
pointernil
slice/mapnil
structstruct ที่ทุกฟิลด์เป็น 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

 

คุณสมบัติGoJavaScript
ระบบประเภทตัวแปรStatically typedDynamically typed
ค่าเริ่มต้นZero Value ตาม Typeundefined หากไม่กำหนด
ความคาดเดาได้สูง (ชัดเจนตาม 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