Trong nhiều ngôn ngữ, cú pháp function_name(arg1, arg2, ...)
được sử dụng để gọi một hàm. Khi chúng ta muốn gọi hàm mà không có bất kỳ đối số nào, chúng ta phải làm function_name()
.
Tôi thấy thật kỳ lạ khi trình biên dịch hoặc trình thông dịch kịch bản sẽ yêu cầu ()
phát hiện thành công nó như một lệnh gọi hàm. Nếu một biến được biết là có thể gọi được, tại sao sẽ không function_name;
đủ?
Mặt khác, trong một số ngôn ngữ chúng ta có thể làm: function_name 'test';
hoặc thậm chí function_name 'first' 'second';
để gọi một chức năng hoặc một lệnh.
Tôi nghĩ rằng dấu ngoặc đơn sẽ tốt hơn nếu chúng chỉ cần khai báo thứ tự ưu tiên và ở những nơi khác là tùy chọn. Ví dụ, làm if expression == true function_name;
nên có giá trị như if (expression == true) function_name();
.
Điều khó chịu nhất theo ý kiến của tôi là phải làm gì 'SOME_STRING'.toLowerCase()
khi rõ ràng không cần đối số cho hàm nguyên mẫu. Tại sao các nhà thiết kế quyết định chống lại đơn giản hơn 'SOME_STRING'.lower
?
Tuyên bố miễn trừ trách nhiệm: Đừng hiểu sai ý tôi, tôi thích cú pháp giống như C! ;) Tôi chỉ hỏi liệu nó có thể tốt hơn không. Có yêu cầu ()
có bất kỳ lợi thế hiệu suất, hoặc nó làm cho việc hiểu mã dễ dàng hơn? Tôi thực sự tò mò về lý do chính xác là gì.
()
, nhưng điều nổi bật trong bài viết của bạn là if (expression == true)
tuyên bố. Bạn lo lắng về những thứ không cần thiết ()
, nhưng sau đó sử dụng một thứ không cần thiết == true
:)