ลองแกล้งทำเป็นว่าเราจะทำงานให้เสร็จตอนนี้: เขียนรหัส JavaScript ให้มากที่สุดเท่าที่จะทำได้ตามหลักการของภาษาที่ใช้งานได้
บทความชุดต่อไปคือให้คุณและฉันเริ่มการเดินทางครั้งนี้ ก่อนอื่นเราจำเป็นต้องแก้ไขแนวคิดบางอย่างของข้อผิดพลาดทางภาษาที่ใช้งานได้ซึ่งอาจอยู่ในใจของคุณ
สูตรการทำงานในภาษา JS นั้นเข้าใจผิดอย่างจริงจัง
เห็นได้ชัดว่ามีนักพัฒนาจำนวนมากที่ต้องการใช้กระบวนทัศน์การทำงานของ JavaScript ทุกวัน ฉันจะบอกว่ามีนักพัฒนา JavaScript ส่วนใหญ่ที่ไม่เข้าใจสิ่งเหล่านี้จริงๆ
ฉันคิดว่าเหตุผลนี้คือภาษาการพัฒนาส่วนใหญ่ที่ใช้บนเว็บเซิร์ฟเวอร์นั้นได้มาจาก C และทุกคนรู้ว่าภาษาเหล่านี้ไม่ใช่ภาษาที่ใช้งานได้
โดยทั่วไปมีความสับสนสองระดับ เลเยอร์แรกเกี่ยวกับการใช้งานในตัวอย่างต่อไปนี้ซึ่งเป็นการใช้งานทั่วไปใน jQuery:
$ (". การลงทะเบียน") คลิก (ฟังก์ชั่น (เหตุการณ์) {$ ("#signupModal"). show (); event.preventDefault ();});ในรหัสด้านบน: เราผ่านฟังก์ชั่นที่ไม่ระบุชื่อเป็นพารามิเตอร์ซึ่งเป็นฟังก์ชันการโทรกลับที่น่าอับอายใน JavaScript ฟังก์ชั่นเหล่านี้จะถูกเรียกหรือไม่? ไม่เลย!
ตัวอย่างข้างต้นแสดงคุณสมบัติสำคัญของภาษาที่ใช้งานได้: ฟังก์ชั่นคือพารามิเตอร์ ในทางกลับกันตัวอย่างนี้ละเมิดกระบวนทัศน์การเขียนโปรแกรมที่ใช้งานได้เกือบทั้งหมดซึ่งสามารถละเมิดได้โดยใช้รหัสเพียงสามบรรทัด
ข้อสงสัยระดับที่สองนั้นลึกซึ้งยิ่งขึ้น ลองดูสิ่งนี้: นักพัฒนา JS ที่ทันสมัยเพียงไม่กี่คนเท่านั้นที่มองตัวเองเช่นนี้:
ดีจริงๆ! แต่ฉันมีความเข้าใจอย่างถ่องแท้เกี่ยวกับการเขียนโปรแกรมที่ใช้งานได้และฉันใช้ Underscore.js ในทุกโครงการของฉัน
ENDERSCORE.JS เป็นห้องสมุด JavaScript ที่มีชื่อเสียงและแพร่หลายมาก ตัวอย่างเช่น: สมมติว่าฉันมีชุดคำและฉันต้องการตัวอักษรสองตัวแรกสำหรับแต่ละคำ นี่เป็นเรื่องง่ายมากที่จะเขียนด้วย Underscore.js:
var firstWoletters = function (คำ) {return _.map (คำ, ฟังก์ชัน (คำ) {return _.first (word, 2);});};ดูตัวอย่าง JavaScript นี้ ฉันใช้ฟังก์ชั่นที่ยอดเยี่ยมและใช้งานได้จริงในสูตรฟังก์ชัน: _.map และ _.first คุณคิดอย่างไรเกี่ยวกับเรื่องนี้?
แม้ว่าฟังก์ชั่นเช่น Underscore.js และ _.map เป็นทั้งกระบวนทัศน์การทำงานที่มีประโยชน์ แต่การรวมสิ่งเหล่านี้เข้าด้วยกันเช่นนี้ในตัวอย่างนี้ยังคงทำให้ฉันเข้าใจได้ยาก เราต้องทำสิ่งนี้จริงๆเหรอ?
หากเราเริ่มคิดเกี่ยวกับวิธีการ "ใช้งานได้มากขึ้น" บางทีเราสามารถเขียนตัวอย่างข้างต้นเช่นนี้:
// ... MagicVar FirstWoletters = MAP เล็กน้อย (First (2));
หากคุณคิดอย่างรอบคอบโค้ดบรรทัดนี้มีเอฟเฟกต์เดียวกับ 5 บรรทัดข้างต้น หลายคำเป็นเพียงพารามิเตอร์หรือตัวยึดตำแหน่ง ตรรกะที่แท้จริงคือการรวมฟังก์ชั่นแผนที่ฟังก์ชั่นแรกและค่าคงที่ 2 ในวิธีที่มีความหมาย
บางคนอาจสงสัยว่า: เวทมนตร์ในตัวอย่างนี้คืออะไร? ท้ายที่สุดมันก็เหมือนกับการคุยโวที่จะบอกว่าตัวอย่างใดที่มีมนต์ขลังใช่มั้ย
ฉันวางแผนที่จะใช้สองบทความถัดไปเพื่ออธิบายว่าตัวอย่างข้างต้นเป็นสิ่งมหัศจรรย์ หากคุณอยากรู้อยากเห็นคุณสามารถอ่านต่อได้
บล็อกชุดนี้คือการช่วยให้คุณใช้ความงามของการเขียนโปรแกรมที่ใช้งานได้กับรหัส JavaScript ของคุณ
ในส่วนถัดไปฉันจะหารือเกี่ยวกับองค์ประกอบต่าง ๆ ของการทำงานและไม่ทำงานในภาษาจาวาสคริปต์ ด้วยความรู้นี้เราสามารถสร้างระบบการเขียนโปรแกรมที่ใช้งานได้อย่างค่อยเป็นค่อยไปในสมองของเราโดยการรวมองค์ประกอบเหล่านี้เข้าด้วยกันและเข้าใจประสิทธิภาพของพวกเขาใน JavaScript