Ở những nơi khác , một cuộc tranh luận đã nảy sinh về thuật ngữ của một hàm được đặt tên trong CoffeeScript. Cụ thể là ai đó đã đề cập đến một cái gì đó như thế này:
foo = ->
console.log("bar")
như một chức năng được đặt tên. Nhưng nó đã bị phản đối rằng mọi thứ trong CoffeeScript đều là các hàm ẩn danh và không có các hàm được đặt tên. Điều này chắc chắn là đúng, CoffeeScript chỉ có các biểu thức hàm mà sau đó có thể được lưu trữ trong một biến. Nhưng tôi không nghĩ điều đó có nghĩa là sai khi gọi đây là một chức năng được đặt tên.
Như tôi thấy, nó là một hàm được đặt tên bởi vì nó là một hàm đã được đặt tên. Đúng, nó không phải là một chức năng được đặt tên theo cùng một cách mà một số ngôn ngữ khác đã đặt tên cho các chức năng, nhưng tôi nghĩ rằng nó đủ gần để không gọi nó là một chức năng được đặt tên. Để nhấn mạnh khác chỉ có vẻ là nitpicking.
Tôi có ra ngoài ăn trưa với suy nghĩ rằng khăng khăng rằng đây không phải là một chức năng được đặt tên chỉ là nitpicking?
foo = ->
chỉ là một hàm cũ đơn giản, trong khi class Foo
là một hàm tạo. Tôi thấy không có lý do tại sao foo = ->
nên được gọi là ẩn danh.