Câu hỏi phỏng vấn Javascript
Câu hỏi

Giải thích về phương thức call(), aplly()bind() trong Javascript?

Câu trả lời

Trong JavaScript, call(), apply(), và bind() là ba phương thức quan trọng của Function, giúp chúng ta làm việc với từ khóa this và các đối số của hàm một cách linh hoạt. Mỗi phương thức có cách sử dụng và mục đích riêng.

call()

Phương thức call() cho phép bạn gọi một hàm với một giá trị this được chỉ định và các đối số được truyền vào một cách rõ ràng. Cú pháp của call()func.call(thisArg, arg1, arg2, ...), trong đó thisArg là giá trị this muốn gán, và arg1, arg2, ... là các đối số truyền vào hàm

apply()

Phương thức apply() rất giống với call(), nhưng thay vì truyền các đối số một cách rõ ràng, apply() cho phép bạn truyền một mảng các đối số. Cú pháp của apply()func.apply(thisArg, [argsArray]), với thisArg là giá trị this muốn gán, và [argsArray] là mảng chứa các đối số

bind()

Phương thức bind() tạo ra một hàm mới, có giá trị this được ràng buộc với giá trị được cung cấp. Khác với call()apply(), bind() không tự động gọi hàm mà trả về một hàm mới với context this đã được set. Cú pháp của bind()func.bind(thisArg[, arg1[, arg2[, ...]]]), trong đó thisArg là giá trị this muốn gán, và arg1, arg2, ... là các đối số mặc định cho hàm mới

Khi nào sử dụng?

  • **call() và ...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Làm sao để sao chép (clone) một mảng trong Javascript?

junior

Array trong Javascript là gì?

middle

Trong Javascript, sự khác biệt giữa throw Error('msg') so với throw new Error('msg') là gì?

Bình luận

Chưa có bình luận nào