1. ค่าเริ่มต้นของพารามิเตอร์ฟังก์ชัน
ใน ES5 คุณไม่สามารถระบุค่าเริ่มต้นโดยตรงสำหรับพารามิเตอร์ของฟังก์ชันและคุณสามารถใช้วิธีแก้ปัญหาต่อไปนี้เท่านั้น:
จากรหัสข้างต้นเราจะเห็นว่ามีปัญหา เมื่อพารามิเตอร์ที่ผ่านเป็น 0 หรือเท็จค่าที่ตามมาจะถูกนำมาใช้โดยตรงแทนที่จะเป็นค่าพารามิเตอร์ที่ผ่าน
แล้วจะแก้ปัญหาได้อย่างไร? สำหรับรหัสในรูปด้านบนคุณสามารถพิจารณาได้ว่าพารามิเตอร์ NUM ได้ถูกส่งผ่านหากไม่ใช้ค่าเริ่มต้น:
วิธีนี้ยังคงลำบากมากในขณะที่ ES6 ตั้งค่าค่าเริ่มต้นของพารามิเตอร์ฟังก์ชันโดยตรงในนิยามพารามิเตอร์และไม่จำเป็นต้องกังวลเกี่ยวกับการส่งผ่านในพารามิเตอร์ 0 หรือเท็จที่จะทำให้เกิดข้อผิดพลาด:
2. ฟังก์ชั่นลูกศร
ฟังก์ชันลูกศรถูกกำหนดด้วยสัญลักษณ์ =>
ฟังก์ชั่นลูกศรเท่ากับฟังก์ชั่นที่ไม่ระบุชื่อดังนั้นการแสดงออกของฟังก์ชั่นจึงถูกเขียนขึ้น
ทางด้านซ้ายเป็นพารามิเตอร์ของฟังก์ชันที่เข้ามาและทางด้านขวาเป็นคำสั่งที่ดำเนินการในฟังก์ชัน
ด้านบนเป็นวิธีการเขียนที่สมบูรณ์โดยมีวงเล็บด้านซ้ายและจัดฟันทางด้านขวาและสถานการณ์ต่อไปนี้สามารถย่อได้:
(1) เมื่อบล็อกรหัสที่จะดำเนินการมีคำสั่งส่งคืนเพียงครั้งเดียวการจัดฟันและคำหลักส่งคืนสามารถละเว้นได้:
ฟังก์ชั่นลูกศรมีความรัดกุมมากในฟังก์ชั่นการโทรกลับเช่นนี้:
ควรสังเกตว่าฟังก์ชั่นลูกศรไม่มีสิ่งนี้อาร์กิวเมนต์ super และ new.target ซึ่งชี้ไปที่ตัวแปรที่สอดคล้องกันของฟังก์ชันด้านนอกตามลำดับ
มันค่อนข้างลำบากในการใช้สิ่งนี้ใน ES5 มาก่อนและปัญหาประเภทนี้เป็นเรื่องธรรมดามาก:
แต่ตอนนี้ด้วยฟังก์ชั่นลูกศรคุณไม่จำเป็นต้องใช้รหัสเช่นนั้น = this หรือ _this = สิ่งนี้อีกต่อไปเพราะสิ่งนี้ในฟังก์ชันลูกศรเป็นสิ่งนี้โดยตรงในฟังก์ชั่นด้านนอกและรหัสนั้นง่ายกว่า:
ข้างต้นเป็นพารามิเตอร์เริ่มต้นและฟังก์ชั่นลูกศรของ A และคุณสมบัติใหม่ของ ES6 ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!