Lập trình chức năng(Functional Programming – FP) là một tiến trình tạo nên một phần mượt bằng cách kết hợp những pure function, và né tránh chia sẻ states, mutable data, side-effect. Lập trình chức năng là declarative, chđọng không hẳn imperative. Những biến(state), tài liệu đã kết nối thông qua mọi pure function. Khác cùng với lập trình phía đối tượng người sử dụng, khi nhưng mà các biến(state) hay được truy vấn xuất với share bên phía trong những pmùi hương thức(method) của đối tượng người dùng.

Bạn đang xem: Side effect là gì

Lập trình tác dụng là một trong Một trong những mô hình của thiết kế. Một quy mô bao gồm những tư tưởng, tiêu chuẩn, chế độ để xây hình thành một phần mềm. Những quy mô không giống bao gồm xây dựng hướng đối tượng(OOP), lập trình thủ tục(procedural programming).

Một trong những loại khó là bạn cũng có thể chưa quen thuộc cùng với hầu hết thuật ngữ mới vào Functional Programming như:

-Pure function(Hàm thuần khiết)-Function composition(Sự phối hợp các hàm với nhau)-Avoid shared state(Tránh chia sẻ biến)-Avoid mutating state(Tránh chuyển đổi biến)-Avoid side effects(Tránh hiệu ứng phụ)

Để làm rõ rộng về FP. thì chúng ta nên nạm được rất nhiều quan niệm này.

Xem thêm: Desktop & Văn Phòng - Download Fxsound Enhancer 13


Nội dung


Pure Function(Hàm thuần khiết)

Một pure function là 1 hàm có:-Với những inputs như thể nhau, luôn tạo ra một output tương tự nhau, và-Không có hiệu ứng phụ(side-effects)

Function Composition(Sự tổng đúng theo của những hàm)

Đó là 1 trong tiến trình phối hợp nhị hay nhiều hàm để tạo nên hàm bắt đầu hoặc tiến hành một trọng trách gì đấy.Hiểu được function composition là một trong bước quan trọng đặc biệt để phát âm ứng dụng được xây dựng thực hiện Functional Programming thế nào.

Shared State(Biến chia sẻ)

Shared state là bất cứ các biến đổi, đối tượng người dùng, hoặc không gian bộ nhớ nhưng bọn chúng trường tồn vào một pmê mệt vi được phân tách sẻ(shared scope). Một shared scope bao gồm scope toàn cục và scope closure. Chúng được sử dụng phổ biến vô số địa điểm cùng cực kỳ nặng nề để tìm hiểu hàm nào sẽ làm biến đổi biến hóa đó. Các hàm tránh việc chia sẻ nhau thân những phát triển thành, dữ liệu.

Ví dụ nlỗi các bạn với vợ/ông chồng bạn dùng bình thường điện thoại(state) cùng nhau. Mỗi khi chúng ta vào thực hiện điện thoại cảm ứng thông minh bạn lại tương đối bực mình vị chúng ta không thích bật screen điện thoại cảm ứng thông minh thừa sáng tốt ai đó đã tải vận dụng nào đấy vô sản phẩm chúng ta. Tóm lại điện thoại(state) được chia sẻ nên bạn cũng tương tự chồng/vk của chúng ta điều giận dữ, thiếu hiểu biết những thiết lập đó là do đâu, …

Kết quả có thể không giống nhau trường hợp họ đổi sản phẩm công nghệ trường đoản cú của các hàm cùng với phần đông biến chuyển chia sẻ(xuất xắc cần sử dụng chung cùng với nhau).Cùng xem một ví dụ sau nhé:

// With shared state, the order in which function calls are made // changes the result of the function calls. const x = val: 2 ;const x1 = () => x.val += 1;const x2 = () => x.val *= 2;x1();x2();console.log(x.val); // 6//This example is exactly equivalent to lớn the above, except... const y = val: 2 ;const y1 = () => y.val += 1;const y2 = () => y.val *= 2;// ...the order of the function calls is reversed... y2(); y1();// ... which changes the resulting value: console.log(y.val); // 5

Side Effects

A side effect(hiệu ứng phụ) là toàn bộ các chuyển đổi của state trong vận dụng cơ mà nó nằm bên ngoài hàm vẫn xúc tiến. Side effect bao gồm:-Thay đổi trở nên bên ngoài và ở trong tính của đối tượng(global variable, parent scope chain)-Console-Ghi lên file

FPhường trong Javascript

Trong JS chúng ta có thể lập trình phối kết hợp giữa hai quy mô FP và OOP.. Chúng mãi mãi song song và một giữa những bí quyết đơn giản và dễ dàng áp dụng FP trong JS kia là:

Sử dụng các built-in FPhường như: filter, map, reduce, find,… vào Array prototypeBạn cũng hoàn toàn có thể viết một FPhường nhằm reuse mang lại phầm mềm của bạn

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *