Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Pure Function ใน JavaScript คืออะไร

Pure Function

Pure function คือ deterministic function ส่ง input เดียวกันทุกครั้ง จะได้ output เดียวกันเสมอ ในทางคณิตศาสตร์คือ well-defined function

Pure function มีคุณสมบัติ:

  • ขึ้นอยู่กับ arguments ของตัวเอง เท่านั้น
  • ไม่พยายามเปลี่ยนตัวแปรนอก scope
  • ไม่ทำ side effects ใดๆ

ตัวอย่างที่ ไม่ใช่ pure function: ฟังก์ชันขึ้นอยู่กับ val1, val2 นอก scope

ตัวอย่างที่ 1 (ไม่ใช่ Pure)

<html> <body> <script> 
    let val1 = 6; 
    let val2 = 4; 
    function pure() { 
        return val1 * val2; 
    } 
    document.write(pure()); 
</script> </body> </html>

ผลลัพธ์

24

ตัวอย่างที่ 2 (ไม่ใช่ Pure): ฟังก์ชันขึ้นอยู่กับ argument แต่ก็ยังขึ้นอยู่กับตัวแปรนอก (val)

ตัวอย่างที่ 2 (ไม่ใช่ Pure)

<html> <body> <script> 
    function pure(arg) { 
        let val = 100; 
        return val * arg; 
    } 
    document.write(pure(2)); 
</script> </body> </html>

ผลลัพธ์

200

ตัวอย่างที่ 3 (Pure Function): ไม่มีตัวแปรนอกเกี่ยวข้อง คืนค่าเดียวกันสำหรับ input เดียวกัน

ตัวอย่างที่ 3 (Pure Function)

<html> <body> 
    <script> 
        function pure(arg) { 
            return 4 * arg; 
        } 
        document.write(pure(2)); 
    </script> 
</body> </html>

ผลลัพธ์

8