ฉันเขียนรหัส ES6 จำนวนมากสำหรับ io.js เมื่อเร็ว ๆ นี้ มีโค้ดไม่มากนักในการเรียนรู้ดังนั้นฉันรู้สึกเหมือนว่าฉันกำหนดอนุสัญญาของตัวเองเมื่อฉันไป
คำถามของฉันเป็นเรื่องเกี่ยวกับเวลาที่จะใช้VSconstlet
constฉันได้รับการใช้กฎนี้ถ้าเป็นไปได้ใช้ ใช้เฉพาะletเมื่อคุณรู้ว่าค่าจำเป็นต้องเปลี่ยนแปลง (คุณสามารถย้อนกลับและเปลี่ยน a เป็นconsta letได้ในภายหลังหากคุณต้องการเปลี่ยนค่าของมันในภายหลัง)
เหตุผลหลักสำหรับกฎนี้คือมันง่ายที่จะใช้อย่างสม่ำเสมอ ไม่มีพื้นที่สีเทา
สิ่งที่เป็นเมื่อฉันใช้กฎนี้ในทางปฏิบัติ 95% constของการประกาศของฉัน และนี่ดูแปลกสำหรับฉัน ฉันแค่ใช้letสำหรับสิ่งต่าง ๆiในforวงหรือบางครั้งสำหรับสิ่งต่าง ๆ เช่นผลรวมสะสมฟีโบนักชี (ซึ่งไม่ได้เกิดขึ้นมากในชีวิตจริง) ฉันรู้สึกประหลาดใจกับสิ่งนี้ - ปรากฎ 95% ของ 'ตัวแปร' ในรหัส ES5 ของฉันจนถึงปัจจุบันเป็นค่าที่ไม่เปลี่ยนแปลง แต่การเห็นconstรหัสของฉันทั่วรู้สึกผิดอย่างใด
ดังนั้นคำถามของฉันคือ: ตกลงไหมที่จะใช้constสิ่งนี้มาก? ฉันควรจะทำสิ่งต่าง ๆ เช่นconst foo = function () {...};?
หรือฉันควรสำรองconstไว้สำหรับสถานการณ์แบบนั้นซึ่งคุณกำลังเขียนโค้ดที่ด้านบนของโมดูลอย่างหนัก - แบบที่คุณทำในรูปแบบเต็มแคปเช่นconst MARGIN_WIDTH = 410;?
function foo() {...}ดีกว่า<anything> foo = function() {...}
function foo() {...}สามารถทำให้เกิดความสับสนเล็กน้อยเมื่อทำการดีบักเนื่องจากการยก นอกจากนี้การมีอยู่ของมันหมายความว่าเรามีสองโครงสร้างที่ทำสิ่งเดียวกัน แต่หนึ่งในนั้นทำงานในบริบทที่เฉพาะเจาะจงเท่านั้น (คุณสามารถใช้ฟังก์ชั่นการแสดงออกได้ทุกการแสดงออกสามารถอยู่ แต่คุณเท่านั้นที่สามารถใช้ฟังก์ชั่นการประกาศในระดับคำสั่ง.) functionหากคุณโปรดปรานกะทัดรัดปัญหาก็อาจเป็นไปได้ว่าไวยากรณ์นิพจน์ฟังก์ชั่นใช้ทั้งคำ
constมาก