ตัวแปร ECMAScript
- หน้าก่อนหน้า การใช้งาน ECMAScript ภาษา
- หน้าต่อไป คำสั่ง ECMAScript
โปรดใช้ตัวบวก var ในการประกาศตัวแปร
ชื่อตัวแปรต้องทำตามกฎที่เรียบง่ายๆ
ประกาศตัวแปร
ในบทกล่าวก่อนหน้านี้เราได้เรียกและอธิบายว่าตัวแปรใน ECMAScript มีการกำหนดด้วยตัวบวก var (short for variable) และชื่อตัวแปร ตัวอย่างเช่น:
var test = "hi";
ในตัวอย่างนี้ ได้ประกาศตัวแปร test และกำหนดค่าในตอนแรกว่า "hi" (ข้อความ) เนื่องจาก ECMAScript คือแบบไม่มีชนิดดังนั้น โปรแกรมแปลงภาษาจะสร้างค่าของตัวแปร test โดยอัตโนมัติไม่จำเป็นต้องมีการประกาศชนิด
สามารถกำหนดตัวแปรสองหรือมากกว่าด้วยคำสั่ง var หนึ่งคำ
var test1 = "hi", test2 = "hello";
โค้ดที่ก่อนหน้านี้กำหนดตัวแปร test1 มีค่าตั้งแรกว่า "hi" และกำหนดตัวแปร test2 มีค่าตั้งแรกว่า "hello"
แต่ตัวแปรที่มีการกำหนดด้วยคำสั่ง var แบบเดียวกันไม่จำเป็นต้องมีชนิดเดียวกันเช่นดังนี้
var test = "hi", age = 25;
ตัวอย่างนี้นอกจากการกำหนด test อีกครั้ง (อีกครั้ง) ยังกำหนด age และกำหนดค่าในตอนแรกว่า 25 ถึงแม้ test และ age จะเป็นชนิดข้อมูลที่แยกกันใน ECMAScript ก็ตาม
ต่างจาก Java ตัวแปรใน ECMAScript ไม่ไม่จำเป็นต้องมีการกำหนดในตอนแรก(เป็นตัวแปรที่มีการกำหนดขึ้นมาแล้ว จะเรียกมาอธิบายในตอนต่อไป)ดังนั้น บรรทัดเดียวนี้เช่นกันเป็นตัวแปรที่ถูกต้อง
var test;
นอกจากนี้ ตัวแปรใน ECMAScript มีอีกประการสามารถเก็บค่าของชนิดต่างๆนี่คือข้อย่อยของตัวแปรที่ไม่มีชนิด
var test = "hi"; alert(test); test = 55; alert(test);
โค้ดนี้จะปล่อยออกมาตัวแปรของแบบข้อความและตัวเลขได้โดยไม่มีปัญหา แต่เช่นเดียวกับที่เคยกล่าวไปแล้ว ข้อเขียนระบบที่ดีเลยคือต้องเก็บค่าที่เหมือนกันของชนิดเดียวทั้งหมดเมื่อใช้ตัวแปร
การตั้งชื่อตัวแปร
ชื่อตัวแปรต้องทำตามกฎที่เรียบง่ายๆสองข้อ
- ตัวอักษรแรกต้องเป็นตัวอักษร ข้อเขียนใต้สาย (_), หรือสัญลักษณ์เงิน ($)
- ตัวอักษรที่เหลืออยู่สามารถเป็นข้อเขียนใต้สาย (_), สัญลักษณ์เงิน ($) หรือตัวอักษรหรือตัวเลขใดๆ
ตัวแปรดังนี้ทั้งหมดเป็นตัวแปรที่ถูกต้อง
var test; var $test; var $1; var _$te$t2;
กฎการตั้งชื่อตัวแปรที่เป็นที่รู้จัก
เพราะมีการถูกต้องในการใช้วลีประกาศตัวแปร ไม่ได้หมายความว่าควรใช้มันอย่างไร ตัวแปรยังคงต้องทำตามกฎการตั้งชื่อตัวแปรที่เป็นที่รู้จักดังต่อไปนี้:
ระบบการติดตามประเภทตัวแปร Camel
ตัวอักษรแรกในชื่อตัวแปรเป็นตัวเล็ก ตัวอักษรต่อมาทุกตัวตั้งแต่ตัวอักษรใหญ่ ตัวอย่างเช่น
var myTestValue = 0, mySecondValue = "hi";
ระบบการติดตามประเภทตัวแปร Pascal
ตัวอักษรแรกในชื่อตัวแปรเป็นตัวหนาวงคต ตัวอักษรต่อมาทุกตัวตั้งแต่ตัวอักษรใหญ่ ตัวอย่างเช่น
var MyTestValue = 0, MySecondValue = "hi";
ระบบการติดตามประเภทตัวแปรฮังการี
ใส่ตัวอักษรเล็ก (หรือตัวอักษรเล็กต่อเนื่อง) ก่อนตัวแปรที่มีการตั้งชื่อด้วยติดตาม Pascal ตามที่กำหนด ตัวอย่างเช่น อิทธิ์ แสดงว่าตัวแปรเป็นตัวเลข ส แสดงว่าตัวแปรเป็นข้อความ ตามนี้
var iMyTestValue = 0, sMySecondValue = "hi";
ตัวอย่างนี้ใช้รายละเอียดการกำหนดชื่อดังนี้ เพื่อที่จะทำให้รหัสตัวอย่างง่ายต่อการอ่าน
ประเภท | รายละเอียดของการกำหนดชื่อ | ตัวอย่าง |
---|---|---|
ตัวแปร (array) | a | aValues |
ประเภทประกาศ (boolean) | b | bFound |
ประเภทตัวเลขจำนวนเต็ม (เลข) | f | fValue |
ฟังก์ชัน (function) | fn | fnMethod |
ประเภทตัวเลข (เลข) | i | iValue |
ตัวแปร (object) | o | oType |
ตัวแปรปริมาณ (re) | re | rePattern |
ข้อความ | s | sValue |
ประเภท (สามารถเป็นประเภทใดก็ได้) | v | vValue |
การประกาศตัวแปรไม่จำเป็น
เรื่องที่น่าสนใจของ ECMAScript อีกด้านหนึ่ง (และเป็นความแตกต่างหลักกับภาษาอื่นๆ ในการออกแบบโปรแกรม) คือ ไม่จำเป็นต้องประกาศตัวแปรก่อนการใช้
var sTest = "hello "; sTest2 = sTest + "world"; alert(sTest2);
ในรหัสที่แสดงด้านบน สุดท้ายสุดแรก ตัวแปร sTest ถูกประกาศเป็นค่าของตัวแปรของประเภทสตริง "hello" ในบรรทัดต่อไป ตัวแปร sTest2 ได้ทำการผสมทั้งหมดกับสตริง "world" ตัวแปร sTest2 ไม่ได้ถูกกำหนดด้วยประมาณการ var ในที่นี้ และแทนที่ด้วยการแสดงความเห็นเหมือนกับที่มีการประกาศมันแล้ว
เมื่อโปรแกรมบรรจุความหมาย ECMAScript ได้บนชื่อตัวแปรที่ยังไม่ถูกประกาศ จะทำให้สร้างตัวแปรทั่วไปด้วยชื่อตัวแปรนั้น และตั้งค่าตัวแปรดังที่กำหนด
นี่เป็นประโยชน์ของภาษานี้ แต่ถ้าไม่สามารถตามติดตามตัวแปรได้เสมอ การกระทำนี้ก็เป็นสิ่งที่อันตราย พฤติกรรมที่ดีที่สุดคือ มีความสมบูรณ์ในการประกาศตัวแปรเหมือนกับภาษาอื่นๆ ที่ใช้ในการออกแบบโปรแกรม
- หน้าก่อนหน้า การใช้งาน ECMAScript ภาษา
- หน้าต่อไป คำสั่ง ECMAScript