JavaScript Jargon 10 ข้อกำหนดที่คุณควรรู้
จาก currying ไปยัง ปิด มีศัพท์แสงจาวาสคริปค่อนข้างมาก (คำศัพท์พิเศษที่ใช้ในสนาม) ซึ่งรู้ว่าจะช่วยให้คุณเพิ่มคำศัพท์ของคุณ แต่เข้าใจ JavaScript ได้ดีขึ้น. ปกติจะพบศัพท์แสงในเอกสารและบทความทางเทคนิค. แต่บางคนก็ชอบ ปิด เป็นสิ่งที่ควรรู้เกี่ยวกับมาตรฐาน การรู้ว่าความหมายของคำนั้นสามารถช่วยให้คุณรู้ว่าแนวคิดนั้นมีชื่อดีขึ้นได้อย่างไร.
โพสต์นี้เป็นการรวบรวม 10 คำดังกล่าวด้วย ความหมายของพวกเขา และ บริบทที่ใช้ ใน JavaScript หากคุณเป็นผู้เริ่มต้นแล้วรายการนี้จะช่วยให้คุณมีพื้นฐานเช่น hoisting. ในเวลาเดียวกันคำศัพท์ที่ไม่เป็นที่รู้จักหรือไม่ค่อยเข้าใจก็รวมอยู่ในนั้นด้วย.
- arity
- ไม่ระบุชื่อ
- การปิด
- ความดีความชอบ
- hoisting
- การกลายพันธุ์
- pragma
- แมวมอง
- วนิลา
- variadic
1. Arity
arity (จากละติน) เป็นคำที่ใช้อ้างถึงจำนวนอาร์กิวเมนต์หรือตัวถูกดำเนินการในฟังก์ชันหรือการดำเนินการตามลำดับ คุณมักจะเจอคำนี้ในขอบเขตของ JavaScript เมื่อมีการกล่าวถึง จำนวนอาร์กิวเมนต์ที่คาดหวังโดยฟังก์ชัน JavaScript.
มีแม้กระทั่งคุณสมบัติที่ชื่อ arity ของ ฟังก์ชัน
วัตถุที่คืนค่าจำนวนอาร์กิวเมนต์ที่คาดหวังในฟังก์ชัน ตอนนี้ล้าสมัยแล้วและถูกแทนที่ด้วย ความยาว
.
ฟังก์ชั่นต่อไปนี้มี arity เท่ากับ 3.
ฟังก์ชัน getName (แรก, กลาง, สุดท้าย) ส่งกลับก่อน + "+ กลาง +" + สุดท้าย;
2. ไม่ระบุชื่อ
ไม่ระบุชื่อ เป็นคำคุณศัพท์ เมื่อบางสิ่งบางอย่างหรือบางคนถูกเรียกว่าไม่ระบุชื่อก็หมายความว่าสิ่งนั้นหรือชื่อบุคคลนั้นไม่ปรากฏชื่อ เช่นเดียวกันใน JavaScript ฟังก์ชันที่ไม่ระบุชื่อเป็นฟังก์ชันที่ไม่ได้ระบุชื่อ.
(function () // body) ();
ด้านบนคือ IIFE (นิพจน์ฟังก์ชันที่เรียกใช้ทันที) ฟังก์ชันในนั้นไม่ระบุชื่อเนื่องจากไม่มีชื่อ ตอนนี้ดูที่ด้านล่าง.
var foo = function () ;
นั่นคือยังกล่าวว่าเป็นฟังก์ชั่นที่ไม่ระบุชื่อเนื่องจากไม่มีชื่อหลังจากคำสำคัญ ฟังก์ชัน
.
ความสงสัยเล็กน้อยเกิดขึ้นในความถูกต้องของการใช้คำ “ไม่ระบุชื่อ”. ด้วย IIFE ฟังก์ชันจะถูกเรียกใช้ทันทีไม่มีชื่อเกี่ยวข้องในขณะที่การเรียกฟังก์ชันหลังนั้นคือไวยากรณ์ foo ()
ถูกนำมาใช้.
มันเหมือนกับว่าเราตั้งชื่อฟังก์ชั่นนิรนามด้วยชื่อ 'foo' และเรียกมันว่าใช้มัน นับเป็นนิรนามหรือไม่? ฉันไม่รู้ฉันจะปล่อยให้ผู้เชี่ยวชาญภาษาอังกฤษ แต่ความสับสนของฉันข้าง ๆ พวกเขาทั้งสองถูกเรียกว่าเป็นฟังก์ชั่นนิรนาม.
3. ปิด
นี่คือหนึ่งในคำจำกัดความจากพจนานุกรมของ Oxford การปิด: “สิ่งที่ปิดหรือปิดผนึกบางสิ่งบางอย่างเช่นหมวกหรือเน็คไท.”
ใน JavaScript การปิดเป็นฟังก์ชันภายในที่สามารถเข้าถึงได้นอกขอบเขตของฟังก์ชันภายนอกโดยการเชื่อมต่อกับตัวแปรของฟังก์ชันภายนอกยังคงไม่เปลี่ยนแปลง.
เพื่ออธิบายสิ่งต่าง ๆ (อาจไม่ถูกต้อง แต่ก็เพียงพอ) ให้พิจารณา การปิด เป็นพนักงานเสิร์ฟในร้านอาหาร มีหลายสิ่งหลายอย่างเกิดขึ้นภายในห้องครัวร้านอาหารซึ่งเราไม่ได้รับอนุญาตให้เข้าไปหรือดู แต่เราควรจะได้รับอาหารของเราแล้ว?
นั่นคือที่บริกรเข้ามาเราเรียกพวกเขาสั่งอาหารจากนั้นพวกเขาจะไปที่ห้องครัวแจ้งพ่อครัวของคำสั่งและนำมาให้เราเมื่อคำสั่งพร้อม ด้วยวิธีนี้เราไม่เสียอะไรเลย “กฎระเบียบ” และยังสามารถจัดการเพื่อกินอาหาร.
พนักงานเสิร์ฟคือคนที่สามารถนำคำสั่งของเราไปที่ห้องครัวและกลับมาพร้อมกับอาหาร JavaScript ปิด มีความคล้ายคลึงกับที่พวกเขาสามารถ ใช้พารามิเตอร์ของเรา และ นำตัวแปรกลับมาให้เรา (อ้างอิงถึงตัวแปรเหล่านั้นเพื่อความแม่นยำ) จากภายในฟังก์ชันที่เราไม่ได้รับอนุญาต.
คำสั่งฟังก์ชั่น () อาหาร var; ฟังก์ชั่นบริกร (สั่งซื้อ) พ่อครัว (สั่งซื้อ); คืนอาหาร พ่อครัวฟังก์ชัน (คำสั่ง) ถ้า (คำสั่ง === 'พาสต้า') อาหาร = ['พาสต้า', 'เกรวี่', 'ปรุงรส']; ปรุงอาหาร (); function cook () food.push ('สุก'); บริกรกลับ; var myOrder = order (); console.log (myOrder ( 'พาสต้า')); // Array ["พาสต้า", "เกรวี่", "เครื่องปรุง", "ปรุง"
อย่างที่คุณเห็นจากโค้ดด้านบนทุกอย่างแยกจากกัน บริกร
และค่าส่งคืนจากภายในฟังก์ชันการสั่งซื้อไม่ได้สัมผัสกับโลกภายนอก.
4. แกงกะหรี่
ผลกระทบที่ตั้งชื่อตาม Haskell Curry หมายถึง ใช้หลายฟังก์ชั่นที่มีข้อโต้แย้งเดียว, แทนที่ฟังก์ชั่นเดียวที่มีหลายอาร์กิวเมนต์ เรามาดู เพิ่ม
ฟังก์ชั่นด้านล่างเช่น.
function addx (x) function addy (y) return x + y; return addy ฟังก์ชั่นเพิ่ม (x, y) return (x + y); console.log (addx (3) (4)); \\ 7 console.log (เพิ่ม (3,4)); \\ 7
ทั้งสองฟังก์ชั่นกลับมาผลลัพธ์เหมือนเดิม ฟังก์ชั่น addx
ยอมรับพารามิเตอร์ x
ในขณะที่กลับมา แอ๊ดดี้
ซึ่งในทางกลับกันยอมรับ Y
ค่าดำเนินการเพิ่มด้วย x
และส่งคืนผลรวม.
ฟังก์ชั่น เพิ่ม
ใช้เวลาทั้งสองอย่าง x
และ Y
ในเวลาเดียวกันทำการเพิ่มและส่งคืนผลรวม จนถึงตอนนี้ฟังก์ชั่นแรกอาจไม่ได้มีประโยชน์มากจนกระทั่ง ...
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
ตอนนี้ฟังก์ชั่นเดิมก็น่าสนใจ ในการแก้ปัญหาคุณสามารถแก้ไขขั้นตอนในลำดับของการดำเนินงานเช่นการเพิ่ม 4 จากโค้ดด้านบนซึ่งเป็นประโยชน์เมื่อตัวแปรตัวใดตัวหนึ่งที่ใช้ในการดำเนินการเหมือนกันเสมอ.
5. ชักรอก
รอกหมายถึงยกอะไรบางอย่าง. hoisting ใน JavaScript ยังหมายถึงสิ่งเดียวกันและสิ่งที่ได้รับการยกระดับคือการประกาศ (การประกาศตัวแปรและฟังก์ชั่น).
การประกาศเป็นที่ที่ตัวแปรและฟังก์ชั่นถูกสร้างขึ้นด้วยคำหลัก var
(ไม่ใช่สำหรับทั่วโลก) และ ฟังก์ชัน
.
ไม่สำคัญว่าคุณจะพิมพ์รหัสเพื่อประกาศฟังก์ชันหรือตัวแปรใดในระหว่างการประเมินผลการประกาศทั้งหมดจะถูกย้ายขึ้นภายในขอบเขตที่มีการอาศัยอยู่ (ยกเว้นในโหมดเข้มงวด) ดังนั้นจึงเป็นไปได้ที่จะเขียนรหัสการทำงานพร้อมกับรหัสสำหรับการเรียกใช้ฟังก์ชันก่อนการประกาศฟังก์ชัน.
var name = 'Velma'; console.log (sayCatchPhrase (ชื่อ)); // "Jinkies!" function sayCatchPhrase (ชื่อ) วลี = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'มีดโกน': 'บิงโก!', 'เขาคน': 'ฉันมีพลัง '; ส่งคืนวลี [ชื่อ];
6. การกลายพันธุ์
การกลายพันธุ์หมายถึงการเปลี่ยนแปลงหรือแก้ไข หากคุณเคยเจอการเปลี่ยนแปลงคำใน JavaScript มันอาจหมายถึงการเปลี่ยนแปลงที่องค์ประกอบ DOM ผ่าน.
มีแม้กระทั่ง API ที่เรียกว่า MutationObserver เพื่อคอยจับตาดูการกลายพันธุ์ของ DOM เช่น การเพิ่มองค์ประกอบย่อย หรือ การเปลี่ยนแปลงคุณสมบัติขององค์ประกอบ. (คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ MutationObserver ในโพสต์ของฉัน)
7. Pragma
pragma สั้นสำหรับข้อมูลเชิงปฏิบัติ ในภาษาอังกฤษแบบธรรมดาการใช้คำในทางปฏิบัติเป็นคำคุณศัพท์ที่มีความหมายและสมเหตุสมผล ในการเขียนโปรแกรม, pragma อ้างถึงรหัสที่ประกอบด้วยข้อมูลที่เป็นประโยชน์ วิธีที่คอมไพเลอร์หรือล่ามหรือแอสเซมเบลอร์ควรประมวลผลโปรแกรม.
มันไม่ได้มีส่วนร่วมอะไรกับภาษาการเขียนโปรแกรมเองและไวยากรณ์อาจแตกต่างกันไป จะมีผลกับพฤติกรรมของคอมไพเลอร์เท่านั้น JavaScript ยังมี pragmas อยู่เล็กน้อยหนึ่งในนั้นคือ เข้มงวด
.
"ใช้อย่างเข้มงวด";
โดย pragma ข้างต้นรหัส JavaScript จะถูกดำเนินการในโหมดเข้มงวด ในโหมดเข้มงวดไม่อนุญาตให้ใช้ไวยากรณ์ที่ไม่ถูกต้อง, hoisting ไม่ได้ทำข้อผิดพลาดเงียบจะแสดง ฯลฯ มันช่วยใน การเขียนรหัส JavaScript ที่ปลอดภัยและปรับให้เหมาะสม.
8. แมวมอง
ยามรักษาการณ์ เป็นทหารที่ระวังตัวอยู่หรือจำทหาร X-Men ได้ไหม? ในการเขียนโปรแกรม, ยามรักษาการณ์ คือค่าที่ใช้เพื่อระบุจุดสิ้นสุดของลูปหรือกระบวนการ พวกเขายังสามารถเรียก “ธง”.
คุณสามารถใช้ค่าที่สมเหตุสมผลใด ๆ แมวมอง. นี่คือตัวอย่างของ ยามรักษาการณ์ ใช้ใน JavaScript; indexOf
เมธอดซึ่งส่งคืน -1 (ค่า Sentinel) เมื่อไม่พบค่าการค้นหาในสตริงเป้าหมาย ด้านล่างเป็นฟังก์ชันที่ส่งคืนตำแหน่งของค่าอาร์เรย์และหากไม่พบค่าจะส่งคืน -1.
ฟังก์ชัน getPos (ary, val) var i = 0, len = ary.length; สำหรับ (; ฉัน9. วานิลลา
ฉันคิดว่าไอศครีมรสชาติแรกของทุกคนต้องเป็นวานิลลา ฉันคิดว่าไม่เพียง แต่ในไอศครีม แต่ในทุกจานหวานของวานิลลากลายเป็นชนิดหวานมาก รสชาติมาตรฐาน ฉันเคยเห็นสูตรเค้กไม่กี่ที่พวกเขาเพิ่มอย่างน้อยหนึ่งหยดลงในส่วนผสม - เพียงเพื่อเพิ่มรสชาติ.
และนั่นคือสิ่งที่ วนิลา คือ รสชาติมาตรฐานแบบดั้งเดิม. วนิลา JavaScript ถูกอ้างถึง JavaScript มาตรฐาน - ไม่มีเฟรมเวิร์ก อันที่จริงวานิลลาไม่เพียง แต่ใช้เพื่ออธิบายจาวาสคริปต์เวอร์ชันมาตรฐานเท่านั้น แต่ยังรวมถึงภาษาอื่น ๆ เช่น CSS.
10. Variadic
variadic เป็นคำคุณศัพท์ที่สร้างขึ้นโดยการเข้าร่วม “ตัวแปร” และ “adicity”. “Adicity” มาจากภาษากรีกโบราณที่มีความหมายเหมือนคำละติน “arity” (รายการ 1 ในรายการนี้) ดังนั้นคำว่า variadic จะใช้ในการ แสดงบางสิ่งที่มีจำนวนตัวแปรที่ขัดแย้งกัน.
ใน JavaScript, a variadic ฟังก์ชั่นใช้เวลาในการขัดแย้งจำนวนใด ๆ มันสามารถสร้างขึ้นโดยใช้
ข้อโต้แย้ง
คุณสมบัติ,ใช้
วิธีการและตั้งแต่ ES6, ผู้ประกอบการแพร่กระจาย ด้านล่างเป็นตัวอย่างการใช้ตัวดำเนินการสเปรด.ทดสอบฟังก์ชั่น (… a) console.log (a); ทดสอบ ('a', 'b', 'c', 8, [56, -89]); // output คือ Array ["a", "b", "c", 8, Array [2]]