Nêu một số trường hợp không nên sử dụng arrow functions
trong Javascript?
Nêu một số trường hợp không nên sử dụng arrow functions
trong Javascript?
Trong JavaScript ES6, Arrow Functions mang lại cú pháp ngắn gọn và tiện lợi cho việc viết hàm, nhưng không phải lúc nào chúng cũng là lựa chọn tốt nhất. Dưới đây là một số trường hợp bạn không nên sử dụng Arrow Functions:
this
trong ngữ cảnh động: Arrow Functions không có this
riêng của chúng. this
trong Arrow Functions được xác định bởi ngữ cảnh bên ngoài (lexical this
) khi hàm được khai báo, không phải khi hàm được gọi. Điều này có thể gây ra vấn đề khi bạn cần this
để tham chiếu đến đối tượng chứa hàm đó, như trong các phương thức của đối tượng hoặc khi xử lý sự kiệnthis
sẽ không trỏ đến đối tượng đó mà trỏ đến ngữ cảnh bên ngoài, thường là window
hoặc undefined
trong strict mode. Điều này làm cho Arrow Functions không phù hợp để định nghĩa phương thức trong đối tượngnew
với Arrow Function. Điều này là do Arrow Functions không có this
riêng và không có thuộc tính prototype
arguments
object: Arrow Functions không cung cấp đối tượng arguments
giống như các hàm thông thường. Nếu bạn cần truy cập vào các đối số được truyền vào hàm mà không được định nghĩa trước trong danh sách tham số, Arrow Functions sẽ không phù hợpthis
giống như khi định nghĩa phương thức trong đối tượng. this
trong Arrow Functions sẽ không trỏ đến instance của classTóm lại, mặc dù Arrow Functions mang lại nhiều lợi ích về cú pháp ngắn gọn và tiện lợi, nhưng chúng không phù hợp cho mọi tình huống, đặc biệt là khi cần sử dụng this
trong ngữ cảnh động, định nghĩa phương thức trong đối tượng hoặc class, sử dụng làm hàm khởi tạo, hoặc khi cần truy cập vào đối tượng arguments
.
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào