Lý do tại sao phong cách này có thể được sử dụng (và có thể tại sao nó được sử dụng ở đây) _
là một ký tự ngắn hơn ()
.
Các dấu ngoặc đơn tùy chọn rơi vào cùng một vấn đề kiểu như dấu ngoặc nhọn tùy chọn . Đây là một vấn đề về hương vị và phong cách mã cho hầu hết các phần, nhưng tính dài dòng được ưa chuộng ở đây vì tính nhất quán.
Mặc dù các hàm mũi tên cho phép một tham số duy nhất không có dấu ngoặc đơn, nhưng nó không nhất quán với số 0, đơn bị phá hủy, phần còn lại đơn và nhiều tham số:
let zeroParamFn = () => { ... };
let oneParamFn = param1 => { ... };
let oneParamDestructuredArrFn = ([param1]) => { ... };
let oneParamDestructuredObjFn = ({ param1 }) => { ... };
let twoParamsFn = (param1, param2) => { ... };
let restParamsFn = (...params) => { ... };
Mặc dù is declared but never used
lỗi đã được sửa trong TypeScript 2.0 đối với các tham số chưa được xác nhận, nhưng _
cũng có thể kích hoạt unused variable/parameter
cảnh báo từ kẻ nói dối hoặc IDE. Đây là một lập luận đáng kể chống lại việc này.
_
có thể được sử dụng thông thường cho các tham số bỏ qua (như câu trả lời khác đã được giải thích). Mặc dù điều này có thể được coi là chấp nhận được, nhưng thói quen này có thể dẫn đến xung đột với _
không gian tên Underscore / Lodash, cũng có vẻ khó hiểu khi có nhiều tham số bị bỏ qua. Vì lý do này, có lợi khi đặt tên đúng cho các tham số được gạch dưới (được hỗ trợ trong TS 2.0), cũng tiết kiệm thời gian để tìm ra chữ ký hàm và tại sao các tham số được đánh dấu là bỏ qua (điều này bất chấp mục đích của _
tham số là phím tắt):
let fn = (param1, _unusedParam2, param3) => { ... };
Vì những lý do được liệt kê ở trên, cá nhân tôi sẽ coi _ => { ... }
phong cách mã là một giai điệu xấu nên tránh.