JavaScript Primitive vs. Reference Values

Javascript

สวัสดีท่านผู้อ่านทุกท่านครับ เมื่อวันก่อนผมได้อ่านบทความเรื่อง JavaScript Primitive vs. Reference Values(http://www.javascripttutorial.net/javascript-primitive-vs-reference-values/) ก็เลยนำมาเรื่องนี้มาเล่าสู่เพื่อนๆนักอ่านกันสักหน่อยครับ

Primitive คืออะไร ?

Primitive ก็คือ ประเภทของของข้อมูลที่ภาษา JavaScript กำหนดมาให้เราแล้วทั้งหมด 6 ประเภทคือ

  1. undefined
  2. null
  3. boolean
  4. number
  5. string
  6. symbol

จะรู้ได้อย่างไรว่าเราใช้ primitive type อะไรอยู่ ?

เราก็ใช้ความสามารถของ typeof ซึ่งก็จะได้ code ดังด้านล่าง

let name = ‘Geidtiphong Singseewo’

console.log(typeof name)

Result: string

ใน JavaScript นั้นตัวภาษามันฉลาดมากพอ เราจึงไม่ต้องกำหนด Primitive type ก่อนที่จะเก็บค่าตัวแปรต่างๆนั้นเอง

Copying primitive values

กรณีเราจะกำหนดค่า 2 ค่าแบบเดียวกันปกติเราอาจจะเขียนแบบนี้

let a = 10

let b = 10

ซึ่งผลลัพพธ์ก็จะได้ a = 10 และ b = 10 ซึ่งก็ไม่ผิดแปลกอะไร แต่ผมอยากจะขอเสนออีกวิธีก็คือ copy primitive value ซึ่งกระบวนท่านั้นก็ไม่ได้ยากเย็นอะไรเล๊ยครับผม ซึ่งเขียนได้ดังด้านล่างนี้

let a = 10

let b = a

ซึ่งเราก็จะได้ผลลัพธ์เดียวกันแบบแรก ซึ่งก็ทำชีวิตเราง่ายขึ้น(นิดนึ่ง) คร่าวนี้กรณีเราเปลี่ยนค่า b = 20 เราจะได้ผลลัพธ์ b = 20 แต่ a จะยังเท่ากับ 10 เหมือนเดิมก็เพราะว่าการที่เราเข้าถึงข้อมูลแบบ primitive type นั้น ค่าของ a และ b ไม่มีความเกี่ยวเนื่องกันนั้นเองครับ ตัดจบ~~

Reference Object คืออะไร ?

การอ้างถึงข้อมูลที่อยู่ใน Object นั้นๆ ซึ่งก็คล้ายๆ กับแบบ Primitive type เลยครับแต่มีความต่างกันตรงที่เมื่อค่าใน Object นั้นๆ มีการเปลี่ยนแปลงจะทำให้ผลลัพธ์ของ variable ที่อ้างอิงถึงเปลี่ยนแปลงไปทั้งหมด เอาละพิมพ์เยอะละเรามาดู code กันหน่อยเนาะเพื่อเพิ่มความเข้าใจ

let person = {name: ‘Geidtiphong Singseewo’}

let person2 = person

person2.name = ‘Pobx’

console.log(person)

console.log(person2)

ซึ่งจาก code ด้านบนเราจะได้ผลลัพธ์เหมือนกันก็คือ name: ‘Pobx’

เป็นไงกันบ้างครับกับบทความเรื่องนี้หวังว่าคงจะเป็นประโยชน์กับท่านผู้อ่านทุกท่าน สุขสวัส กันทุกคนทุกท่าน ในวันหยุดนี้ครับ บรั๊ย ~~

Geidtiphong Singseewo

Written by

I am a Developer from Thailand !

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade