ฉันเขียนรหัส ES6 จำนวนมากสำหรับ io.js เมื่อเร็ว ๆ นี้ มีโค้ดไม่มากนักในการเรียนรู้ดังนั้นฉันรู้สึกเหมือนว่าฉันกำหนดอนุสัญญาของตัวเองเมื่อฉันไป
คำถามของฉันเป็นเรื่องเกี่ยวกับเวลาที่จะใช้VSconst
let
const
ฉันได้รับการใช้กฎนี้ถ้าเป็นไปได้ใช้ ใช้เฉพาะlet
เมื่อคุณรู้ว่าค่าจำเป็นต้องเปลี่ยนแปลง (คุณสามารถย้อนกลับและเปลี่ยน a เป็นconst
a 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
มาก