โฮมเพจ » การเข้ารหัส » JavaScript Jargon 10 ข้อกำหนดที่คุณควรรู้

    JavaScript Jargon 10 ข้อกำหนดที่คุณควรรู้

    จาก currying ไปยัง ปิด มีศัพท์แสงจาวาสคริปค่อนข้างมาก (คำศัพท์พิเศษที่ใช้ในสนาม) ซึ่งรู้ว่าจะช่วยให้คุณเพิ่มคำศัพท์ของคุณ แต่เข้าใจ JavaScript ได้ดีขึ้น. ปกติจะพบศัพท์แสงในเอกสารและบทความทางเทคนิค. แต่บางคนก็ชอบ ปิด เป็นสิ่งที่ควรรู้เกี่ยวกับมาตรฐาน การรู้ว่าความหมายของคำนั้นสามารถช่วยให้คุณรู้ว่าแนวคิดนั้นมีชื่อดีขึ้นได้อย่างไร.

    โพสต์นี้เป็นการรวบรวม 10 คำดังกล่าวด้วย ความหมายของพวกเขา และ บริบทที่ใช้ ใน JavaScript หากคุณเป็นผู้เริ่มต้นแล้วรายการนี้จะช่วยให้คุณมีพื้นฐานเช่น hoisting. ในเวลาเดียวกันคำศัพท์ที่ไม่เป็นที่รู้จักหรือไม่ค่อยเข้าใจก็รวมอยู่ในนั้นด้วย.

    1. arity
    2. ไม่ระบุชื่อ
    3. การปิด
    4. ความดีความชอบ
    5. hoisting
    6. การกลายพันธุ์
    7. pragma
    8. แมวมอง
    9. วนิลา
    10. 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]]