Chức năng thuần túy
Một chức năng thuần túy là một hàm xác định . Điều này có nghĩa là khi một đầu vào giống nhau được chuyển qua mỗi lần, hàm sẽ trả về cùng một đầu ra. Theo thuật ngữ toán học, nó không là gì khác ngoài một hàm được xác định rõ ràng.
Một chức năng thuần túy sẽ có các thuộc tính sau
-
Nó chỉ phụ thuộc vào các đối số của chính nó.
-
Nó sẽ không cố gắng thay đổi các biến ngoài phạm vi của nó.
-
Nó không tạo ra bất kỳ tác dụng phụ nào.
Ví dụ sau đây không phải là một hàm thuần túy bởi vì thay vì phụ thuộc vào các biến của chính nó, hàm phụ thuộc vào các biến (val1 và val2) nằm ngoài phạm vi của nó.
Ví dụ
<html> <body> <script> let val1 = 6; let val2 = 4; function pure() { return val1 * val2; } document.write(pure()); </script> </body> </html>
đầu ra
24
Trong ví dụ sau, hàm, mặc dù phụ thuộc vào các đối số của chính nó, nhưng cũng phụ thuộc vào một số biến bên ngoài (val). Vì vậy, nó không phải là một chức năng thuần túy .
Ví dụ
<html> <body> <script> function pure(arg) { let val = 100; return val* arg; } document.write(pure(2)); </script> </body> </html>
đầu ra
200
Ví dụ sau đây hiển thị một chức năng thuần túy bởi vì không có biến bên ngoài nào tham gia trong khi hàm đang thực hiện nhiệm vụ của nó. Hàm trả về cùng một đầu ra khi một tham số tương tự được chuyển cho nó
Ví dụ
<html> <body> <script> function pure(arg) { return 4 * arg; } document.write(pure(2)); </script> </body> </html>
đầu ra
8