เหตุผลที่ว่าทำไมรูปแบบนี้สามารถนำมาใช้ (และอาจจะว่าทำไมมันถูกนำมาใช้ที่นี่) คือว่าเป็นหนึ่งในตัวละครที่สั้นกว่า_
()
วงเล็บตัวเลือกตกอยู่ในปัญหาลักษณะเดียวกันเป็นวงเล็บปีกกาตัวเลือก นี่เป็นเรื่องของรสนิยมและรูปแบบรหัสเป็นส่วนใหญ่ แต่การใช้คำฟุ่มเฟือยเป็นที่ชื่นชอบที่นี่เนื่องจากความสม่ำเสมอ
แม้ว่าฟังก์ชันลูกศรจะอนุญาตพารามิเตอร์เดียวโดยไม่มีวงเล็บ แต่ก็ไม่สอดคล้องกับศูนย์, ทำลายโครงสร้างเดี่ยว, ส่วนที่เหลือเดี่ยวและพารามิเตอร์หลายตัว:
let zeroParamFn = () => { ... };
let oneParamFn = param1 => { ... };
let oneParamDestructuredArrFn = ([param1]) => { ... };
let oneParamDestructuredObjFn = ({ param1 }) => { ... };
let twoParamsFn = (param1, param2) => { ... };
let restParamsFn = (...params) => { ... };
แม้ว่าis declared but never used
ข้อผิดพลาดจะได้รับการแก้ไขใน TypeScript 2.0สำหรับพารามิเตอร์ที่ถูกขีดเส้นใต้ แต่_
ยังสามารถเรียกunused variable/parameter
คำเตือนจาก linter หรือ IDE ได้ นี่เป็นข้อโต้แย้งที่สำคัญสำหรับการทำเช่นนี้
_
สามารถใช้ตามอัตภาพสำหรับพารามิเตอร์ที่ถูกละเว้น (ตามคำตอบอื่น ๆ ที่อธิบายไว้แล้ว) แม้ว่าสิ่งนี้อาจถือว่ายอมรับได้ แต่นิสัยนี้อาจส่งผลให้เกิดความขัดแย้งกับ_
เนมสเปซขีดล่าง / Lodash และดูสับสนเมื่อมีพารามิเตอร์ที่ละเว้นหลายพารามิเตอร์ ด้วยเหตุนี้จึงเป็นประโยชน์ที่จะตั้งชื่อพารามิเตอร์ที่ถูกขีดเส้นใต้อย่างถูกต้อง (รองรับใน TS 2.0) และยังช่วยประหยัดเวลาในการหาลายเซ็นฟังก์ชันและเหตุใดพารามิเตอร์จึงถูกทำเครื่องหมายว่าละเว้น (ซึ่งเป็นการท้าทายวัตถุประสงค์ของ_
พารามิเตอร์เป็นทางลัด):
let fn = (param1, _unusedParam2, param3) => { ... };
ด้วยเหตุผลที่ระบุไว้ข้างต้นโดยส่วนตัวแล้วฉันคิดว่า_ => { ... }
รูปแบบรหัสเป็นโทนสีที่ไม่ดีที่ควรหลีกเลี่ยง