ครับผมในกระทู้นี้ผมจะมาพูดถึงเรื่องของการกำหนดตัวแปรต่างๆใน javascript กันครับทุกท่านอาจจะประสบปัญหาในการสร้างตัวแปรต่างๆในภาษา javascript กันอยู่ไม่น้อยเพราะว่าการสร้างตัวแปรใน javascript นั้นมีการสร้างที่หลายแบบเหลือเกินครับและแต่ละอย่างนั้นมีความแตกต่างกันอย่างชัดเจนครับซึ่งอาจจะมีปัญหาในการสร้างตัวแปรได้ว่าทำไมเราสร้าง
ตัวแปรนี้มาถึงใช้งานอะไรบางอย่างไม่ได้แล้วแต่ละอย่างนั้นแตกต่างกันอย่างไร ทั้งแบบ
var แบบ let และแบบ
const เรามาดูกันเลยครับ
โดยการสร้างตัวแปรใน javscript นั้นจะแบ่งออกเป็น 3 ตัวครับ ซึ่ง 3 ตัวนี้นั้นไม่ใช่การแบ่งแยกประเภทของ datatype แต่อย่างใดครับ ซึ่งการแบ่งทั้ง 3 แบบนั้นมีนัยสำคัญบางอย่างครับโดยจะเริ่มจากตั้วแรกครับนั้นก็คือ
การประกาศตัวแปรแบบ var นั้นเป็นการประกาศตัวแปรที่ประกาศออกมาแบบ global ครับ หรือก็คือเมื่อเราทำการประกาศค่าตัวแปรด้วยวิธีนี้แล้วตัวแปรนี้ไม่ว่าจะอยู่ใน function หรืออย่างอื่นอันใดก็สามารถที่จะใช้งานตัวแปรตัวนี้ได้ครับ แต่ข้อเสียก็คือถ้าหากว่าเรามีการเปลี่ยนแปลงข้อมูลในตัวแปรนี้ข้อมูลก็จะเปลี่ยนแปลงไปทั้งหมดครับหรือก็คือการเปลี่ยนแปลงของตัวแปรนั้จะทำให้มันเปี่ลยนแปลงในระดับ global ด้วยเพราะงั้นการใช้งานตัวแปรตัวนี้ต้องระวังนะครับ
การประกาศตัวแปรแบบนี้นั้นเป็นการประกาศตัวแปรในระดับของ Local หรือก็คือใช้ได้แค่บริเวณนั้นเข้าไปใน function ไม่ได้ถ้าหากว่าเราไม่ทำการส่งเข้าไปหรือก็คือตัวแปรแบบนี้นั้นเป็นตัวแปรที่เรียกได้ว่าปกติชนที่สุดแล้วครับผมถ้าเคยเขียนตัวภาษาอื่นๆมาก่อนมันก่อนตัวแปรนี้ก็๕ือตัวแปรแบบปกติที่คุณเคยใช้เลยครับ
การประกาศตัวแปรเป็น let.png
การประกาศตัวนี้ผมเรียกได้แปลกประหลาดที่สุดที่เคยเจอมาเลยล่ะครับเพราะการแสดงตัวแปรนี้ขึ้นมานั้นตัวแปรที่เราทำการประกาศมานั้นจะไม่สามารถเปลี่ยนแปลงค่าได้ครับ แต่ถ้าเป็น object เรายังสามารถเปลี่ยนแปลงได้อยู่แต่ก็ได้แค่เฉพาะตรงข้อมูลครับ
ซึ่งการที่เรานั้นมีการประกาศ
ตัวแปรได้หลายแบบนั้นก็ใช่ว่าจะไม่ดีเสมอไปครับ ถ้าหากว่าเรานั้นศึกษาและปรับนำมาใช้งานได้มันก็เป็นอีก 1 ตัวช่วยที่จะทำให้โค้ดของเรานั้นมีประสิทธิภาพ สั้นลงและขนาดไฟร์ที่เล็กลงครับ ถ้าหากว่าคุณนั้นอยากจะศึกษาวิธีการหรือพื้นฐานการเขียนภาษา
javscript นี้ก็เป็นอีก 1 เรื่องที่สำคัญที่คุณควรจะได้ศึกษาและรับรู้เอาไว้ครับ
อ้างอิง
https://www.somkiat.cc/declaration-in-javascript/
http://marcuscode.com/lang/javascript/variables
https://www.w3bai.com/th/js/js_variables.html#gsc.tab=0