33 แนวคิดนักพัฒนาจาวาสคริปต์ทุกคนควรรู้
การแนะนำ
พื้นที่เก็บข้อมูลนี้ถูกสร้างขึ้นด้วยความตั้งใจที่จะช่วยนักพัฒนาเชี่ยวชาญแนวคิดของพวกเขาใน JavaScript มันไม่ได้เป็นข้อกำหนด แต่เป็นแนวทางสำหรับการศึกษาในอนาคต มันขึ้นอยู่กับบทความที่เขียนโดย Stephen Curtis และคุณสามารถอ่านได้ที่นี่
พิจารณาโดย GitHub เป็นหนึ่งในโครงการโอเพนซอร์สชั้นนำของปี 2018!
ชุมชน
อย่าลังเลที่จะส่ง PR โดยเพิ่มลิงค์ไปยังบทวิจารณ์หรือบทวิจารณ์ของคุณเอง หากคุณต้องการแปล repo เป็นภาษาแม่ของคุณโปรดอย่าลังเลที่จะทำเช่นนั้น
การแปลทั้งหมดสำหรับ repo นี้จะแสดงอยู่ด้านล่าง:
- ult
- ъгарски (บัลแกเรีย) - Thewebmasterp
- 汉语 (จีน) - อีกครั้ง
- โปรตุเกสทำ Brasil (บราซิลโปรตุเกส) - Tiago Boeing
- 한국어 (เกาหลี) - ซุยลี
- Español (สเปน) - Adonis Mendoza
- Türkçe (ตุรกี) - ̇lker demir
- рускийสาธารณะ (รัสเซีย) - mihail gumennii
- tiếngviệt (เวียดนาม) - nguyễntrần chung
- Polski (โปแลนด์) - Dawid Lipinski
- فاری (เปอร์เซีย) - Majid Alavizadeh
- บาฮาซาอินโดนีเซีย (ชาวอินโดนีเซีย) - Rijdzuan Sampoerna
- Français (ฝรั่งเศส) - Robin Métral
- हिन (ภาษาฮินดี) - Vikas Chauhan
- ελληνικά (กรีก) - Dimitris Zarachanis
- 日本語 (ญี่ปุ่น) - OIMO23
- Deutsch (เยอรมัน) - Burhannn
- украї́нська ва (ยูเครน) - Andrew Savetchuk
- සිංහල (Sinhala) - Udaya Shamendra
- อิตาลี (อิตาลี) - Gianluca Fiore
- Latviešu (ลัตเวีย) - Jānisīvāns
- Afaan Oromoo (Oromo) - Amanuel Dagnachew
- ภาษาไทย (ไทย) - Arif Waram
- Català (Catalan) - Mario Estrada
- Svenska (สวีเดน) - Fenix Hongell
- ខ្មែរ (Khmer) - Chrea Chanchhunneng
- አማርኛ (เอธิโอเปีย) - Miniyahil Kebede (ምንያህልከበደ)
- беларускаямова (belarussian) - dzianis yafimau
- O'Zbekcha (อุซเบก) - Shokhrukh Usmonov
- ภาษาอูรดู (اردو) - Yasir Nawaz
- Marathi (माठी) - Dhruv Chandak
- हिन (ภาษาฮินดี) - Mahima Chauhan
- বাংলা (เบงกาลี) - Jisan Mia
- ગુજરાતી (Gujarati) - Vatsal Bhuva
- سنڌي (Sindhi) - Sunny Gandhwani
- भोजपु (bhojpuri) - pronay debnath
- ਪੰਜਾਬੀ (ปัญจาบ) - Dev Pathak ที่รุนแรง
- தமிழ் (ทมิฬ) - Jaimin chovatia
- ละติน (ละติน) - DEV Pathak ที่รุนแรง
- മലയാളം (มาลายาลัม) - Akshay Manoj
- Yorùbá (Yoruba) - Ayomide Bajulaye
- עבית (ฮีบรู) - Refael Yzgea
สารบัญ
- โทรหาสแต็ก
- ประเภทดั้งเดิม
- ประเภทค่าและประเภทอ้างอิง
- โดยปริยาย, ชัดเจน, เล็กน้อย, โครงสร้างและเป็ดพิมพ์
- == vs === vs typeof
- ขอบเขตฟังก์ชันขอบเขตบล็อกและขอบเขตคำศัพท์
- นิพจน์ vs คำสั่ง
- iife โมดูลและเนมสเปซ
- คิวข้อความและลูปเหตุการณ์
- settimeout, setInterval และ requestanimationframe
- เครื่องยนต์จาวาสคริปต์
- ตัวดำเนินการ Bitwise พิมพ์อาร์เรย์และอาร์เรย์บัฟเฟอร์
- DOM และต้นไม้เลย์เอาต์
- โรงงานและชั้นเรียน
- สิ่งนี้โทรใช้และผูกมัด
- ใหม่ตัวสร้างอินสแตนซ์และอินสแตนซ์
- การสืบทอดต้นแบบและห่วงโซ่ต้นแบบ
- Object.create and Object.assign
- แผนที่ลดตัวกรอง
- ฟังก์ชั่นบริสุทธิ์ผลข้างเคียงการกลายพันธุ์ของรัฐและการแพร่กระจายเหตุการณ์
- การปิด
- ฟังก์ชั่นการสั่งซื้อสูง
- การเรียกซ้ำ
- คอลเลกชันและเครื่องกำเนิดไฟฟ้า
- คำสัญญา
- async/รอ
- โครงสร้างข้อมูล
- การดำเนินงานที่มีราคาแพงและสัญกรณ์ O ใหญ่
- อัลกอริทึม
- มรดกความหลากหลายและการใช้รหัสซ้ำ
- รูปแบบการออกแบบ
- แอพพลิเคชั่นบางส่วนการแกงกะหรี่เขียนและท่อ
- รหัสทำความสะอาด
1. โทรสแต็ก
สแต็กการโทรเป็นกลไกที่ล่าม JavaScript ใช้เพื่อติดตามการทำงานของฟังก์ชั่นภายในโปรแกรม ใน JavaScript ฟังก์ชั่นจะถูกดำเนินการตามลำดับที่เรียกว่า สแต็คการโทรตามหลักการครั้งแรก (LIFO) แรกซึ่งหมายความว่าฟังก์ชั่นสุดท้ายที่ผลักลงบนสแต็กเป็นครั้งแรกที่จะดำเนินการ
ตามข้อกำหนดของ ECMAScript สแต็กการโทรถูกกำหนดเป็นส่วนหนึ่งของบริบทการดำเนินการ เมื่อใดก็ตามที่มีการเรียกฟังก์ชั่นบริบทการดำเนินการใหม่จะถูกสร้างและวางไว้ที่ด้านบนของสแต็ก เมื่อฟังก์ชั่นเสร็จสิ้นบริบทการดำเนินการจะถูกลบออกจากสแต็กและการควบคุมจะกลับไปยังบริบทก่อนหน้า สิ่งนี้จะช่วยจัดการการดำเนินการรหัสแบบซิงโครนัสเนื่องจากการเรียกใช้ฟังก์ชั่นแต่ละครั้งจะต้องเสร็จสิ้นก่อนที่จะเริ่มต้น
อ้างอิง
บทความ
- ทำความเข้าใจกับ JavaScript Call Stack, Event Loops - Gaurav Pandvia
- ทำความเข้าใจกับ JavaScript Call Stack - Charles Freeborn
- JavaScript: บริบทการดำเนินการคืออะไร? สแต็คโทรคืออะไร? - Valentino Gagliardi
- JS Event Loop และ Call Stack คืออะไร? - Jess Telford
- ทำความเข้าใจบริบทการดำเนินการและการดำเนินการสแต็กใน JavaScript - Sukhjinder Arora
- JavaScript ทำงานอย่างไรภายใต้ประทุน: ภาพรวมของเครื่องยนต์ JavaScript, heap และ, call stack - bipin rajbhar
- JS Call Stack อธิบายใน 9 นาที - Colt Steel (YouTube)
- Call Stack ใน JavaScript - Syed Rafsan Raiyan
วิดีโอ
- JavaScript: สแต็กการโทรอธิบาย - บล็อกการเข้ารหัสอินเดีย
- JS Call Stack อธิบายใน 9 นาที - Colt Steele
- สแต็คโทรคืออะไร? - Eric Traub
- The Call Stack - Kevin Drumm
- การทำความเข้าใจการดำเนินการ JavaScript - รหัส
- อีเว้นท์ลูปคืออะไร? - ฟิลิปโรเบิร์ตส์
- รหัส JavaScript ถูกเรียกใช้งานอย่างไร? ❤ & Call Stack - Akshay Saini
- Call Stacks - CS50
- เรียนรู้สแต็กการโทร JavaScript - CodeCupDev
- ฟังก์ชั่น JavaScript และ Call Stack | สแต็กการโทรทำงานอย่างไร - chidre'stechtutorials
⬆กลับไปด้านบน
2. ประเภทดั้งเดิม
ตามข้อกำหนดของ ECMAScript JavaScript มีประเภทข้อมูลดั้งเดิมหกชนิด: สตริง, หมายเลข, Bigint, บูลีน, ไม่ได้กำหนดและสัญลักษณ์ ประเภทเหล่านี้ไม่เปลี่ยนรูปหมายถึงค่าของพวกเขาไม่สามารถเปลี่ยนแปลงได้ นอกจากนี้ยังมีประเภทดั้งเดิมที่เรียกว่า NULL ซึ่งแสดงถึงการขาดโดยเจตนาของค่าวัตถุใด ๆ
ค่าดั้งเดิมจะถูกกำหนดให้กับตัวแปรโดยตรงและเมื่อคุณจัดการประเภทดั้งเดิมคุณจะทำงานโดยตรงกับค่า ซึ่งแตกต่างจากวัตถุดั้งเดิมไม่มีคุณสมบัติหรือวิธีการ แต่จาวาสคริปต์จะห่อค่าดั้งเดิมโดยอัตโนมัติด้วยวัตถุคู่เมื่อจำเป็น (เช่นเมื่อเรียกใช้วิธีการในสตริง)
อ้างอิง
- ชนิดข้อมูล JavaScript และโครงสร้างข้อมูล - MDN
บทความ
- ประเภทข้อมูลแบบดั้งเดิมและไม่ได้ใช้งานใน JavaScript-GeeksForgeks
- ตัวแปร JavaScript (การคิดเริ่มต้น)
- ตัวเลขถูกเข้ารหัสใน JavaScript อย่างไร - Dr. Axel Rauschmayer
- สิ่งที่คุณต้องรู้เกี่ยวกับประเภทหมายเลข JavaScript - Max Wizard K
- สิ่งที่นักพัฒนา JavaScript ทุกคนควรรู้เกี่ยวกับหมายเลขจุดลอยตัว - Chewxy
- ชีวิตลับของ JavaScript Primitives - Angus Croll
- ประเภทดั้งเดิม - การไหล
- (ไม่ใช่) ทุกอย่างใน JavaScript เป็นวัตถุ - Daniel Li
- ชนิดข้อมูล JavaScript และโครงสร้างข้อมูล - MDN
- ดำน้ำลึกลงไปในวัตถุ JavaScripts - Arfat Salman
- ความแตกต่างระหว่าง Object.freeze () vs const ใน JavaScript - Bolaji Ayodeji
- คัดค้านการแปลงแบบดั้งเดิม - javascript.info
- วิธีการดั้งเดิม - javascript.info
วิดีโอ
- การอ้างอิง JavaScript เทียบกับประเภทดั้งเดิม - Academind
- JavaScript Primitive Type - Simon Sez It
- ประเภทค่าและประเภทการอ้างอิงใน JavaScript - การเขียนโปรแกรมด้วย MOSH
- ชนิดข้อมูลดั้งเดิมของ JavaScript - Avelx
- ทุกสิ่งที่คุณไม่เคยอยากรู้เกี่ยวกับหมายเลข JavaScript - Bartek Szopka
- ตัวแปรอะไรในจาวาสคริปต์คืออะไร? - JS สำหรับทุกคน
- tipos de datos primitivos en javascript - la cocina del código
- ชนิดข้อมูลใน JavaScript - Scholarhat
⬆กลับไปด้านบน
3. ประเภทค่าและประเภทอ้างอิง
ตามข้อกำหนดของ ECMAScript ประเภทค่าจะถูกเก็บไว้โดยตรงในตำแหน่งที่ตัวแปรเข้าถึง เหล่านี้รวมถึงประเภทเช่นหมายเลข, สตริง, บูลีน, ไม่ได้กำหนด, Bigint, สัญลักษณ์และ NULL เมื่อคุณกำหนดประเภทค่าให้กับตัวแปรค่าเองจะถูกเก็บไว้
บทความ
- การอธิบายค่าเทียบกับการอ้างอิงใน JavaScript - Arnav Aggarwal
- ประเภทดั้งเดิมและประเภทอ้างอิงใน JavaScript - Bran van der Meer
- ประเภทของค่าประเภทการอ้างอิงและขอบเขตใน JavaScript - Ben Aston
- กลับไปที่ราก: ค่า JavaScript เทียบกับการอ้างอิง - Miro Koczka
- เข้าใจ“ ตามค่า” และ“ โดยการอ้างอิง” ใน JavaScript - Léna Faure
- การอ้างอิง JavaScript และตัวแปรคัดลอก - Vítor Capretz
- JavaScript Primitive vs ค่าอ้างอิง
- JavaScript โดยการอ้างอิงเทียบกับค่า - Nrabinowitz
- การเตรียมสัมภาษณ์ JavaScript: Primitive vs. ประเภทอ้างอิง - Mike Cronin
- วิธีการ foreach ใน JavaScript - คู่มือที่ครอบคลุม
- แผนที่ JavaScript เทียบกับ Foreach: เมื่อใดควรใช้แต่ละอัน - Sajal Soni
วิดีโอ
- JavaScript Pass โดย Value Vs Pass โดยการอ้างอิง - TechSith
- ค่า JavaScript VS ประเภทอ้างอิง - การเขียนโปรแกรมด้วย mosh
- Valores vs Referencias en JavaScript - La Cocina del Código
- JavaScript - การอ้างอิงเทียบกับค่าดั้งเดิม/ ประเภท - Academind
- ประเภทค่าและประเภทการอ้างอิงใน JavaScript - การเขียนโปรแกรมด้วย mosh
⬆กลับไปด้านบน
4. โดยปริยาย, ชัดเจน, เล็กน้อย, โครงสร้างและการพิมพ์เป็ด
ข้อกำหนดของ ECMASCript กำหนด JavaScript เป็นภาษาที่พิมพ์แบบไดนามิกซึ่งหมายความว่าประเภทที่เกี่ยวข้องกับค่ามากกว่าตัวแปรและการตรวจสอบประเภทเกิดขึ้นที่รันไทม์ มีหลายวิธีที่ JavaScript จัดการประเภท:
การพิมพ์โดยนัย (หรือประเภทการบีบบังคับ): สิ่งนี้เกิดขึ้นเมื่อ JavaScript แปลงชนิดข้อมูลหนึ่งเป็นแบบหนึ่งโดยอัตโนมัติเมื่อจำเป็น ตัวอย่างเช่น JavaScript อาจแปลงสตริงเป็นตัวเลขในระหว่างการดำเนินการทางคณิตศาสตร์ ในขณะที่สิ่งนี้สามารถทำให้โค้ดง่ายขึ้น แต่ก็สามารถนำไปสู่ผลลัพธ์ที่ไม่คาดคิดหากไม่ได้จัดการอย่างระมัดระวัง
การพิมพ์ที่ชัดเจน: แตกต่างจากการพิมพ์โดยนัยการพิมพ์ที่ชัดเจนเกี่ยวข้องกับการแปลงค่าด้วยตนเองจากประเภทหนึ่งไปยังอีกประเภทหนึ่งโดยใช้ฟังก์ชั่นเช่นหมายเลข (), สตริง () หรือบูลีน ()
การพิมพ์เล็กน้อย: JavaScript ไม่สนับสนุนการพิมพ์เล็กน้อยโดยมีการประกาศและตรวจสอบประเภทอย่างชัดเจน อย่างไรก็ตาม TypeScript ซึ่งเป็น Superset ของ JavaScript นำคุณลักษณะนี้มาช่วยจับข้อผิดพลาดประเภทในระหว่างการพัฒนา
โครงสร้างการพิมพ์: ในระบบประเภทนี้ประเภทจะขึ้นอยู่กับโครงสร้างหรือคุณสมบัติของข้อมูล JavaScript เป็นภาษาที่พิมพ์โครงสร้างที่วัตถุเข้ากันได้หากพวกเขาแบ่งปันโครงสร้างเดียวกัน (เช่นชุดคุณสมบัติและวิธีการชุดเดียวกัน)
การพิมพ์เป็ด: นี่เป็นแนวคิดที่ความเหมาะสมของวัตถุถูกกำหนดโดยการมีคุณสมบัติและวิธีการบางอย่างแทนที่จะเป็นประเภทจริงของวัตถุ JavaScript อาศัยการพิมพ์เป็ดอย่างมากซึ่งพฤติกรรมถูกอนุมานจากคุณสมบัติของวัตถุมากกว่าประเภทที่ประกาศไว้
บทความ
- สิ่งที่คุณต้องรู้เกี่ยวกับการบีบบังคับโดยนัยของ JavaScript - สัญญา Tochi
- การบีบบังคับประเภท JavaScript - Alexey Samoshkin
- JavaScript Coercion อธิบาย - Ben Garrison
- ประเภทการบีบบังคับใน JavaScript คืออะไร? - สแต็คล้น
วิดีโอ
- - - ...#@^% - Shirmung Bielefeld
- การบีบบังคับใน JavaScript - Hitesh Choudhary
- คำถาม JavaScript: การบีบบังคับคืออะไร? - Steven Hancock
- การพิมพ์: แบบคงที่ vs ไดนามิกอ่อนแอและแข็งแกร่ง - codexpanse
- El Sistema de Tipos de JavaScript - La Cocina del Código
- การพิมพ์เป็ดใน JavaScript - TechMaker Studio
- การพิมพ์เป็ดใน JavaScript - การเขียนโปรแกรมด้วย kartik
หนังสือ
- คุณไม่รู้จัก JS, ฉบับที่ 1: ประเภทและไวยากรณ์ - Kyle Simpson
⬆กลับไปด้านบน
5. == vs === vs typeof
ตามข้อกำหนดของ ECMAScript JavaScript รวมทั้งตัวดำเนินการที่เข้มงวด (====) และ Loose (==) ความเท่าเทียมกันซึ่งทำงานแตกต่างกันเมื่อเปรียบเทียบค่า นี่คือรายละเอียด:
== (ความเท่าเทียมกันหลวม): ตัวดำเนินการนี้ดำเนินการบีบบังคับประเภทก่อนเปรียบเทียบสองค่า หากค่าเป็นประเภทต่าง ๆ JavaScript จะพยายามแปลงค่าหนึ่งหรือทั้งสองเป็นประเภททั่วไปก่อนการเปรียบเทียบซึ่งอาจนำไปสู่ผลลัพธ์ที่ไม่คาดคิด
=== (ความเท่าเทียมกันอย่างเข้มงวด): ตัวดำเนินการนี้เปรียบเทียบทั้งค่าและประเภทที่ไม่มีการบีบบังคับประเภทใด ๆ หากค่าทั้งสองไม่ได้เป็นประเภทเดียวกันการเปรียบเทียบจะกลับเท็จ
Typeof Operator: ตัวดำเนินการ Typeof ใช้เพื่อตรวจสอบประเภทข้อมูลของตัวแปร ในขณะที่มันเชื่อถือได้โดยทั่วไปมีบางอย่างที่แปลกประหลาดเช่นวิธีที่ typeof null ส่งคืน "วัตถุ" แทน "null" เนื่องจากพฤติกรรมที่ยาวนานในการใช้งานของ JavaScript
บทความ
- JavaScript Double Equals เทียบกับ Triple Equals - Brandon Morelli
- ฉันควรใช้ === หรือ == ตัวดำเนินการเปรียบเทียบความเท่าเทียมใน JavaScript หรือไม่? - Panu Pitkamaki
- ทำไมต้องใช้ตัวดำเนินการสามเท่าใน JavaScript? - Louis Lazaris
- ความแตกต่างระหว่าง == และ === ใน JavaScript คืออะไร? - Craig Buckler
- ทำไมประเภทของ JavaScript จึงส่งคืน "วัตถุ" เสมอ? - สแต็คล้น
- การตรวจสอบประเภทใน JavaScript - Toby Ho
- วิธีตรวจสอบชนิดข้อมูลที่ดีขึ้นใน JavaScript - Webbjocke
- การตรวจสอบการไม่มีค่าใน JavaScript - Tomer Aberbach
- ความแตกต่างระหว่าง == และ === ใน JavaScript
- ความแตกต่างระหว่าง == และ === ใน JavaScript - GeeksForgeeks
- === vs == การเปรียบเทียบใน JavaScript - FreeCodecamp
วิดีโอ
- JavaScript - ตัวดำเนินการ typeof - Brains Java
- JavaScript Typeof Operator - DevDelight
- javascript "==" vs "===" - เว็บ dev ง่ายขึ้น
- === vs == ใน JavaScript - Hitesh Choudhary
- ตัวดำเนินการ typeof ใน JS - CodeVault
⬆กลับไปด้านบน
6. ขอบเขตฟังก์ชันขอบเขตบล็อกและขอบเขตคำศัพท์
ข้อกำหนด ECMASCRIPT แสดงขอบเขตของคีย์สามประเภท:
ขอบเขตฟังก์ชัน: ตัวแปรที่ประกาศภายในฟังก์ชั่นโดยใช้ VAR สามารถเข้าถึงได้ภายในฟังก์ชั่นนั้นเท่านั้น ขอบเขตนี้แยกตัวแปรจากการเข้าถึงนอกฟังก์ชั่นที่มีการประกาศ
ขอบเขตบล็อก: แนะนำด้วย ES6 ตัวแปรที่ประกาศด้วย Let และ Const เป็นบล็อกบล็อก ซึ่งหมายความว่าพวกเขาสามารถเข้าถึงได้ภายในบล็อกเฉพาะ {} ซึ่งกำหนดไว้เช่นภายในลูปหรือเงื่อนไข
ขอบเขตคำศัพท์: หมายถึงวิธีการที่การเข้าถึงตัวแปรถูกกำหนดขึ้นอยู่กับตำแหน่งทางกายภาพของตัวแปรในรหัส ฟังก์ชั่นถูกกำหนดขอบเขตแบบ lexically ซึ่งหมายความว่าพวกเขาสามารถเข้าถึงตัวแปรจากขอบเขตหลักของพวกเขา
หนังสือ
- คุณยังไม่รู้จัก JS, ฉบับที่ 2: ขอบเขตและปิด - Kyle Simpson
บทความ
- ฟังก์ชั่น JavaScript - การทำความเข้าใจพื้นฐาน - Brandon Morelli
- var, let, และ const - ความแตกต่างคืออะไร?
- ฟังก์ชั่นใน JavaScript - Deepa Pandey
- การเลียนแบบขอบเขตบล็อกใน JavaScript - Josh Clanton
- ความแตกต่างระหว่างฟังก์ชั่นและขอบเขตบล็อกใน JavaScript - Joseph Cardillo
- ขอบเขตฟังก์ชันและขอบเขตบล็อกใน JavaScript - Samer Buna
- การทำความเข้าใจขอบเขตและบริบทใน JavaScript - Ryan Morr
- ขอบเขต JavaScript และการปิด - Zell Liew
- การทำความเข้าใจขอบเขตใน JavaScript - Wissam Abirached
- การทำความเข้าใจขอบเขตใน JavaScript - Hammad Ahmed
- เมื่อใดควรใช้การประกาศฟังก์ชั่นกับการแสดงออกของฟังก์ชั่น - อำพันวิลคี
- แผ่นโกงพื้นฐาน JavaScript: ขอบเขตบริบทและ“ นี่” - Alexandra Fren
- ขอบเขตฟังก์ชัน / ฟังก์ชัน - MDN
วิดีโอ
- อะไรทำให้ JavaScript แปลก ... และ Pt ที่ยอดเยี่ยม 4 - LearnCode.academy
- ขอบเขตตัวแปรใน JavaScript - Kirupa Chinnathambi
- ขอบเขตบล็อก JavaScript และขอบเขตฟังก์ชัน - MMTUTS
- ขอบเขตคำศัพท์คืออะไร? - nwcalvank
- ขอบเขตตัวแปร - Steve Griffith
- บทช่วยสอน JavaScript สำหรับผู้เริ่มต้น - Mosh Hemadani
- JavaScript Block Scope VS ขอบเขตฟังก์ชัน - Nivek
- การกำหนดขอบเขตคำศัพท์ใน JavaScript - Hitesh Choudhary
- การจัดการขอบเขตที่ทันสมัยใน JavaScript (ES6 และ Beyond) -Prashant Dewangan
⬆กลับไปด้านบน
7. คำสั่ง Expression vs
ตามข้อกำหนดของ ECMAScript นิพจน์จะสร้างค่าและคำสั่งเป็นคำแนะนำในการดำเนินการเช่นการกำหนดตัวแปรหรือการควบคุมการไหล การประกาศฟังก์ชั่นจะถูกยกขึ้นและสามารถเรียกได้ก่อนที่จะถูกกำหนดไว้ในรหัสในขณะที่การแสดงออกของฟังก์ชั่นจะไม่ถูกยกขึ้นและต้องกำหนดก่อนที่จะถูกเรียกใช้
บทความ
- สิ่งที่คุณต้องรู้เกี่ยวกับการแสดงออกของ JavaScript ข้อความและแถลงการณ์การแสดงออกของ JavaScript - Promise Tochi
- ฟังก์ชั่นนิพจน์เทียบกับการประกาศฟังก์ชั่น - Paul Wilkins
- ฟังก์ชั่น JavaScript - การประกาศเทียบกับการแสดงออก - Ravi Roshan
- การประกาศฟังก์ชั่นกับการแสดงออกของฟังก์ชั่น - Mandeep Singh
- การประกาศฟังก์ชั่นกับการแสดงออกของฟังก์ชั่น - Anguls Croll
- คำสั่งการแสดงออก - เอกสารเว็บ MDN
วิดีโอ
- นิพจน์เทียบกับคำสั่งใน JavaScript - hexlet
- JavaScript - นิพจน์กับคำสั่ง - webtunings
- การแสดงออกของฟังก์ชัน JavaScript เทียบกับการประกาศสำหรับผู้เริ่มต้น - วัสดุ dev
- ความแตกต่างระหว่างนิพจน์และคำสั่งใน JavaScript
- การแสดงออกใน JavaScript | คำแถลงใน JavaScript - Sathelli Srikanth
⬆กลับไปด้านบน
8. iife โมดูลและเนมสเปซ
ด้วยการแนะนำของโมดูล ES6 บทบาทของ IIFES ในการแยกขอบเขตได้ลดลง แต่พวกเขายังคงเกี่ยวข้อง
อ้างอิง
- iife - mdn
- Modularity - MDN
- เนมสเปซ - MDN
บทความ
- การเรียนรู้ฟังก์ชั่นฟังก์ชั่นทันที-จันทรา Gundamaraju
- JavaScript เรียกใช้นิพจน์ฟังก์ชันทันที - javaScriptTutorial.net
- โมดูล ES6 ทำให้กรณีของ IIFES ล้าสมัยหรือไม่?
- ไพรเมอร์ 10 นาทีถึงโมดูล JavaScript, รูปแบบโมดูล, โมดูลโหลดและโมดูล Bundlers - Jurgen van de Moere
- โมดูล - สำรวจ JS
- โมดูล ES: การ์ตูนดำน้ำลึก-Lin Clark
- การทำความเข้าใจโมดูล ES6 - Craig Buckler
- ภาพรวมของโมดูล ES6 ใน JavaScript - Brent Graham
- โมดูล ES6 ในเชิงลึก - Nicolás Bevacqua
- โมดูล ES6, node.js และโซลูชัน Michael Jackson - Alberto Gimeno
- โมดูล JavaScript: คู่มือผู้เริ่มต้น - Preethi Kasireddy
- การใช้โมดูล JavaScript บนเว็บ - Addy Osmani & Mathias Bynens
- IIFE: เรียกใช้ฟังก์ชั่นฟังก์ชั่นทันที - Parwinder
- Bundlers โมดูล JavaScript - Vanshu Hassija
วิดีโอ
- การแสดงออกของฟังก์ชั่นเรียกใช้ทันที - Beau สอน JavaScript - FreeCodecamp
- การทำความเข้าใจ JavaScript iife - Sheo Narayan
- โมดูล JavaScript: ES6 นำเข้าและส่งออก - Kyle Robinson
- ES6 - โมดูล - Ryan Christiani
- โมดูล ES6 ในโลกแห่งความเป็นจริง - Sam Thorogood
- โมดูล ES6 - TempleCoding
- JavaScript IIFE (เรียกใช้ฟังก์ชันการทำงานทันที) - Steve Griffith
⬆กลับไปด้านบน
9. คิวข้อความและลูปเหตุการณ์
Event Loop เป็นส่วนสำคัญของโมเดลการพร้อมกันของ JavaScript เพื่อให้มั่นใจว่าพฤติกรรมที่ไม่บล็อกโดยการประมวลผลงานในลักษณะอะซิงโครนัส การทำความเข้าใจว่ามันมีปฏิสัมพันธ์กับคิวข้อความและ microtasks เป็นกุญแจสำคัญในการเรียนรู้พฤติกรรม JavaScript
บทความ
- JavaScript Event Loop อธิบาย - Anoop Raveendran
- The JavaScript Event Loop: อธิบาย-Erin Sweson-Healey
- การทำความเข้าใจ JS: Event Loop - Alexander Kondov
- The JavaScript Event Loop - Flavio Copes
- งาน, microtasks, คิวและตารางเวลา - Jake Archibald
- การมองเห็นภาพเหตุการณ์ JavaScript ด้วยการเปรียบเทียบร้านอาหารพิซซ่า - Priyansh Jain
- JavaScript Visualized: Event Loop - Lydia Hallie
- Settimeout vs setimmediate ใน JavaScript - Navneet Singh
- การทำความเข้าใจและเพิ่มประสิทธิภาพการวนรอบเหตุการณ์ของ JavaScript - Xiuer Old
วิดีโอ
- อีเว้นท์ลูปคืออะไร? - JSCONF EU - Philip Roberts
- JavaScript Event Loop - ComScience Simplified
- ฉันติดอยู่ในเหตุการณ์วน - ฟิลิปโรเบิร์ตส์
- ในวง - Jake Archibald | jsconf.asia 2018
- Desmitificando El Event Loop (สเปน)
- การโทรกลับ, Sincrono, Assíncrono E Event Loop (PT-BR)
- JavaScript Event Loop: มันทำงานอย่างไรและทำไมมันถึงสำคัญใน 5 นาที - James Q Quick
⬆กลับไปด้านบน
10. Settimeout, SetInterval และ RequestAnimationFrame
บทความ
- JavaScript Settimeout - สิ่งที่คุณต้องรู้
- settimeout และ setInterval - javascript.info
- ทำไมไม่ใช้ SetInterval - Akanksha Sharma
- settimeout vs setInterval - develoger
- การใช้ RequestAnimationFrame - Chris Coyier
- การทำความเข้าใจการร้องขอของ JavaScript () - JavaScript Kit
- ช่วงเวลาการจัดการใน JavaScript - Amit Merchant
- Debounce - วิธีการล่าช้าฟังก์ชันใน JavaScript - Ondrej Polesny
วิดีโอ
- JavaScript: วิธีการทำงานของ SetTimeOut และ SetInterval - การเข้ารหัสบล็อกอินเดีย
- ปัญหาความน่าเชื่อถือด้วย setTimeout () - Akshay Saini
- settimeout และ setInterval ใน JavaScript - TechSith
- ตัวจับเวลา JavaScript - Steve Griffith
- JavaScript Settimeout และ SetInterval อธิบาย - Theodore Anderson
⬆กลับไปด้านบน
11. เครื่องยนต์ JavaScript
บทความ
- JavaScript รวบรวมภาษาหรือตีความหรือไม่?
- JavaScript Engines - Jen Looper
- ทำความเข้าใจว่าเครื่องยนต์ Chrome V8 แปล JavaScript เป็นรหัสเครื่องได้อย่างไร
- ทำความเข้าใจกับรหัสของ V8 - Franziska Hinkelmann
- ประวัติโดยย่อของเครื่องยนต์ V8 JavaScript ของ Google - Clair Smith
- JavaScript Essentials: ทำไมคุณควรรู้ว่าเครื่องยนต์ทำงานอย่างไร - Rainer Hanekamp
- พื้นฐานเครื่องยนต์ JavaScript: รูปร่างและแคชแบบอินไลน์
- พื้นฐานของเครื่องยนต์ JavaScript: การเพิ่มประสิทธิภาพต้นแบบ
- วิธีการที่ V8 เพิ่มประสิทธิภาพการดำเนินงานของอาร์เรย์
- JavaScript Internals: JavaScript Engine, Run-Time Environment & Settimeout Web API-Rupesh Mishra
วิดีโอ
- JavaScript Engines: The Good Parts ™ - Mathias Bynens & Benedikt Meurer
- JS Engine เปิดเผยสถาปัตยกรรม V8 ของ Google | Namaste JavaScript EP 16 - Akshay Saini
- รหัส JavaScript ถูกเรียกใช้งานอย่างไร? JavaScript ทำงานอย่างไรเบื้องหลัง
- ทำความเข้าใจกับ V8 JavaScript Engine - FreeCodecamp Talks
- JavaScript ภายใต้ Hood - JavaScript Engine ภาพรวม - Traversy Media
- Arindam Paul - JavaScript VM Internals, Eventloop, Async และ Scopechains
⬆กลับไปด้านบน
12. ตัวดำเนินการ bitwise พิมพ์อาร์เรย์และบัฟเฟอร์อาร์เรย์
บทความ
- การเขียนโปรแกรมด้วย JS: การดำเนินการ bitwise - Alexander Kondov
- การใช้ผู้ให้บริการ bitwise ของ JavaScript ในชีวิตจริง - Ian M
- ตัวดำเนินการ JavaScript Bitwise - W3Resource
- ผู้ประกอบการ Bitwise ใน JavaScript - Joe Cha
- ไพรเมอร์ที่ครอบคลุมเกี่ยวกับการคำนวณแบบไบนารีและตัวดำเนินการ bitwise ใน JavaScript - Paul Brown
- ฉันจะเข้าใจการทำงานของ Bitwise ใน JavaScript ได้อย่างไร
วิดีโอ
- ตัวดำเนินการ JavaScript Bitwise - การเขียนโปรแกรมด้วย mosh
- ผู้ให้บริการ Bitwise และทำไมเราจึงใช้พวกเขา - Alex Hyett
- ตัวดำเนินการ JS Bitwise และหมายเลขไบนารี - Steve Griffith - Prof3SSORST3V3
- ดำน้ำลึกลงไปใน blobs ไฟล์และ arraybuffers - Steve Griffith - Prof3SSORST3V3
⬆กลับไปด้านบน
13. DOM และ LAYOUT TREES
อ้างอิง
- โมเดลวัตถุเอกสาร (DOM) - MDN
หนังสือ
- JavaScript ที่มีคารมคมคายฉบับที่ 3: Ch. 14 - โมเดลวัตถุเอกสาร
บทความ
- วิธีทำความเข้าใจและแก้ไข DOM ใน JavaScript - Tania Rascia
- โมเดลวัตถุเอกสารคืออะไรและทำไมคุณควรรู้วิธีใช้ - Leonardo Maldonado
- JavaScript Dom Tutorial กับตัวอย่าง - Guru99
- DOM คืออะไร? - Chris Coyier
- ข้าม DOM ด้วย JavaScript - Zell Liew
- ต้นไม้ DOM
- วิธีสำรวจ DOM ใน JavaScript - Vojislav Grujić
- Render Tree Construction - Ilya Grigorik
- DOM คืออะไร?
- JavaScript DOM
- ข้าม DOM ด้วย JavaScript - Steve Griffith (YouTube)
วิดีโอ
- JavaScript DOM - นินจาสุทธิ
- JavaScript Dom Crash Course - Traversy Media
- วิธีการจัดการ JavaScript DOM - Web Dev Simplified
- JavaScript Dom Traversal Methods - Web Dev Simplified
⬆กลับไปด้านบน
14. โรงงานและชั้นเรียน
บทความ
- วิธีใช้คลาสใน JavaScript - Tania Rascia
- คลาส JavaScript - ใต้ประทุน - Majid
- JavaScript ที่ดีกว่าด้วย ES6, Pt. II: การดำน้ำลึกลงไปในชั้นเรียน - Peleke Sengstacke
- ทำความเข้าใจกับรูปแบบการออกแบบโรงงานในจาวาสคริปต์ธรรมดา - Aditya Agarwal
- ฟังก์ชั่นโรงงานใน JavaScript - Josh Miller
- รูปแบบโรงงานใน JS ES6 - SNSTSDEV
- ฟังก์ชั่นคลาสกับโรงงาน: สำรวจหนทางข้างหน้า - Cristi Salcescu
- คลาส ES6 ทำงานได้อย่างไรและวิธีการสร้างของคุณเอง - Robert Grosse
- ทำความเข้าใจกับ
super
ใน JavaScript - คู่มือง่าย ๆ ในการทำความเข้าใจชั้นเรียนใน JavaScript
วิดีโอ
- ฟังก์ชั่น JavaScript Factory - การเขียนโปรแกรมด้วย mosh
- ฟังก์ชั่นจากโรงงานใน JavaScript - ฟังก์ชั่นความสนุกสนุก
- โรงงานฟังก์ชั่นการสอน JavaScript - Crypto Chan
⬆กลับไปด้านบน
15. สิ่งนี้โทรสมัครและผูกมัด
อ้างอิง
- โทร () - MDN
- ผูก () - MDN
- สมัคร () - MDN
บทความ
- grokking call (), ใช้ () และ bind () วิธีการใน JavaScript - Aniket Kudale
- วิธีการใช้งานการโทรและการผูกของ JavaScript เป็นสิ่งจำเป็นสำหรับผู้เชี่ยวชาญด้าน JavaScript - Richard Bovell
- JavaScript: call (), ใช้ () และ bind () - Omer Goldberg
- ความแตกต่างระหว่างการโทร / ใช้ / ผูก - Ivan Sifrim
- สิ่งที่แฮ็คเรียกใช้ผูกติดอยู่ใน JavaScript - Ritik
- การเรียนรู้ 'this' ใน JavaScript: callbacks และ bind (), ใช้ (), call () - Michelle Gienow
- การใช้งานของ JavaScript โทรและผูกมัดอธิบายโดยการโฮสต์ Cookout - Kevin Kononenko
- วิธีการและเวลาที่จะใช้การผูกโทรและใช้ใน JavaScript - eigen x
- ให้ฉันอธิบายให้คุณทราบว่า
this
คืออะไร (JavaScript) - Jason Yu - ทำความเข้าใจคำหลัก“ นี้” ใน JavaScript - Pavan
- วิธีทำความเข้าใจคำหลักนี้และบริบทใน JavaScript-Lukas Gisder-Dubé
- นี่คืออะไรใน JavaScript? - Hridayesh Sharma
- สิ่งนี้และผูกใน JavaScript - Brian Barbour
- 3 เทคนิคในการรักษาสติของคุณโดยใช้ "สิ่งนี้" ใน JavaScript - Carl
- การควบคุม JavaScript "นี้" คำหลัก - Aakash Srivastav
- การเชื่อมโยงใน JavaScript - 4. การผูกใหม่ - Spyros Argalias
- แนะนำอย่างรวดเร็วถึง 'สิ่งนี้' ใน JavaScript - Natalie Smith
- การสนทนากับคำหลัก 'นี้' ใน JavaScript - Karen Eferean
- call (), ใช้ () และ bind () ใน JavaScript - Amitav Mishra คืออะไร
- การทำความเข้าใจ 'สิ่งนี้' มีผลผูกพันใน JavaScript - Yasemin Cidem
- คำถามที่ยุ่งยาก 7 อันดับแรกของคำหลัก 'นี้'
วิดีโอ
- การเรียก JavaScript ใช้และผูก - TechSith
- แอปพลิเคชั่นที่ใช้งานได้จริงของ JavaScript ของการโทรใช้และผูกฟังก์ชั่น - TechSith
- JavaScript (โทร, ผูก, ใช้) - AATMA ที่อยากรู้อยากเห็น
- ทำความเข้าใจฟังก์ชั่นและ 'สิ่งนี้' ในโลกของ ES2017 - Bryan Hughes
- ผูกและสิ่งนี้ - การสร้างวัตถุใน JavaScript - funfunfunction
- วิธีการฟังก์ชัน JS Call (), ใช้ () และ bind () - Steve Griffith
- โทรใช้และผูกเมธอดใน JavaScript - Akshay Saini
- . [คำถามสัมภาษณ์ JavaScript (โทร, ผูกและใช้) - polyfills, เอาต์พุตตาม, การเชื่อมโยงอย่างชัดเจน - coder ริมถนน] (https://youtu.be/vkmuoktydau?si=sdvlz8fbmephpxjs)
⬆กลับไปด้านบน
16. ใหม่ตัวสร้างอินสแตนซ์และอินสแตนซ์
บทความ
- JavaScript สำหรับผู้เริ่มต้น: ผู้ให้บริการ 'ใหม่' - Brandon Morelli
- คำหลัก 'ใหม่' ของ JavaScript กันเถอะ - Cynthia Lee กันเถอะ
- Constructor, Operator "New" - javascript.info
- ทำความเข้าใจกับตัวสร้าง JavaScript - Faraz Kelhini
- ใช้ฟังก์ชั่นตัวสร้าง - OpenClassrooms
- Beyond
typeof
และ instanceof
: การตรวจสอบประเภทแบบไดนามิกที่ง่ายขึ้น - Dr. Axel Rauschmayer - ฟังก์ชั่นและวัตถุอินสแตนซ์ของกันและกัน - Kiro Risk
- JavaScript Instance Operator
⬆กลับไปด้านบน
17. การสืบทอดต้นแบบและห่วงโซ่ต้นแบบ
อ้างอิง
- มรดกและห่วงโซ่ต้นแบบ - MDN
บทความ
- JavaScript: Prototype vs Class - Valentin Parsy
- พื้นฐานของเครื่องยนต์ JavaScript: การเพิ่มประสิทธิภาพต้นแบบ - Mathias Bynens
- JavaScript Prototype - NC Patro
- ต้นแบบใน JavaScript - Rupesh Mishra
- ต้นแบบใน JavaScript: มันแปลก แต่นี่คือวิธีการทำงาน - Pranav Jindal
- การทำความเข้าใจ JavaScript: ต้นแบบและมรดก - Alexander Kondov
- การทำความเข้าใจชั้นเรียน (ES5) และมรดกต้นแบบใน JavaScript - Hridayesh Sharma
- ต้นแบบการสืบทอด โปรโต และต้นแบบใน JavaScript - Varun dey
- มรดกต้นแบบ - javascript.info
- วิธีการทำงานกับต้นแบบและมรดกใน JavaScript - Tania Rascia
- ต้นแบบต้นแบบ JavaScript และมรดก - Arnav Aggarwal
- มรดกต้นแบบของ JavaScript อธิบายโดยใช้ CSS - Nash Vail
- มรดกต้นแบบใน JavaScript - Jannis Redmann
- Demystifying คลาส ES6 และมรดกต้นแบบ - Neo Ighodaro
- บทนำสู่มรดกต้นแบบ - Dharani Jayakanthan
- มาสร้างมรดกต้นแบบใน JS-var-che
- วัตถุต้นแบบและคลาสใน JavaScript - Atta
- โลกมหัศจรรย์ของต้นแบบ JavaScript - Belén
- ทำความเข้าใจกับมรดกต้นแบบใน JavaScript - Lawrence Eagles
- วัตถุและต้นแบบใน JavaScript - Irena Popova
วิดีโอ
- JavaScript Prototype การสืบทอด - Avelx
- JavaScript Prototype การสืบทอดอธิบาย Pt. ฉัน - Techsith
- JavaScript Prototype การสืบทอดอธิบาย Pt. II - Techsith
- JavaScript Prototype การสืบทอดการสืบทอด - Kyle Robinson
- JavaScript ขั้นสูง - มรดกต้นแบบใน 1 นาที
- ภาพรวมของคลาส JavaScript คลาสสิกและการสืบทอดต้นแบบ - Pentacode
- JavaScript เชิงวัตถุ - ต้นแบบ - NET NINJA
- ต้นแบบใน JavaScript - Kudvenkat
- JavaScript โดยใช้ต้นแบบ - O'Reilly
- คู่มือผู้เริ่มต้นเกี่ยวกับต้นแบบของ JavaScript - Tyler McGinnis
- ต้นแบบใน JavaScript - P5.JS Tutorial - รถไฟเข้ารหัส
หนังสือ
- คุณไม่รู้จัก JS, รุ่นที่ 1: ต้นแบบนี้ & วัตถุ - Kyle Simpson
- หลักการของ JavaScript เชิงวัตถุ - Nicholas C. Zakas
⬆กลับไปด้านบน
18. Object.create and Object.assign
อ้างอิง
- Object.create () - MDN
- Object.assign () - MDN
บทความ
- Object.create ใน JavaScript - Rupesh Mishra
- Object.create (): วิธีใหม่ในการสร้างวัตถุใน JavaScript - Rob Gravelle
- มรดกพื้นฐานกับ Object.create - Joshua Clanton
- Object.create () ใน JavaScript - geeksforgekes
- ทำความเข้าใจความแตกต่างระหว่าง Object.create () และผู้ให้บริการใหม่ - Jonathan Voxland
- การสร้างวัตถุ JavaScript: รูปแบบและแนวทางปฏิบัติที่ดีที่สุด - Jeff Mott
- JavaScript HasownProperty: เครื่องมือตรวจสอบคุณสมบัติที่ทรงพลัง
- การจัดการกับวัตถุใน JavaScript กับ Object.assign, Object.keys และ HasownProperty
- การคัดลอกวัตถุใน JavaScript - Orinami Olatunji
- JavaScript: Object.assign () - Thiago S. Adriano
- วิธีการโคลนลึกวัตถุ JavaScript - Flavio Copes
- Object.create (): เมื่อใดและทำไมต้องใช้ - vzing
วิดีโอ
- Object.assign () อธิบาย - แอรอนเขียนโค้ด
- Object.assign () เมธอด - techsith
⬆กลับไปด้านบน
19. แผนที่ลดตัวกรอง
บทความ
- การเขียนโปรแกรมฟังก์ชัน JavaScript - แผนที่ตัวกรองและลด - Bojan Gvozderac
- เรียนรู้แผนที่กรองและลดลงใน JavaScript - João Miguel Cunha
- แผนที่ของ JavaScript ลดและกรอง - Dan Martensen
- วิธีใช้แผนที่ตัวกรองและลดลงใน JavaScript - Peleke Sengstacke
- JavaScript - เรียนรู้ที่จะเป็นห่วงโซ่แผนที่กรองและลด - Brandon Morelli
- โครงสร้างข้อมูล JavaScript พร้อมแผนที่ลดการกรองและ ES6 - Deepak Gupta
- ทำความเข้าใจกับแผนที่กรองและลดลงใน JavaScript - Luuk Gruijs
- การเขียนโปรแกรมฟังก์ชั่นใน JS: MAP, ตัวกรอง, ลด (pt. 5) - Omer Goldberg
- JavaScript: แผนที่, ตัวกรอง, ลด - William S. Vincent
- ฟังก์ชั่นลูกศร: ไวยากรณ์ไขมันและกระชับใน JavaScript - Kyle Pennell
- JavaScript: ฟังก์ชั่นลูกศรสำหรับผู้เริ่มต้น - Brandon Morelli
- เมื่อใด (และทำไม) คุณควรใช้ฟังก์ชั่น ES6 Arrow - และเมื่อคุณไม่ควร - Cynthia Lee
- JavaScript - เรียนรู้ฟังก์ชั่นลูกศร - Brandon Morelli
- (JavaScript) => ฟังก์ชั่นลูกศร - sigu
- JavaScript.Reduce () - Paul Anderson
- ทำไมคุณควรแทนที่ foreach ด้วยแผนที่และตัวกรองใน JavaScript - Roope Hakulinen
- ทำให้ JavaScript ของคุณง่ายขึ้น - ใช้. map (), .Reduce () และ. filter () - etienne talbot
- วิธีการลดของ JavaScript อธิบายโดยการรับประทานอาหาร - Kevin Kononenko
- ความแตกต่างระหว่างแผนที่ตัวกรองและลดลงใน JavaScript - Amirata Khodaparast
- Map⇄filter⇄reduce↻ - Ashay Mandwarya
- ค้นหาทางของคุณด้วย. map () - Brandon Wozniewicz
- วิธีการเขียนแผนที่ของคุณเองกรองและลดฟังก์ชั่นใน JavaScript - Hemand Nair
- วิธีจัดการอาร์เรย์ใน JavaScript - Bolaji Ayodeji
- วิธีทำให้ codebase ของคุณง่ายขึ้นด้วย MAP () ลด () และตัวกรอง () ใน JavaScript - Alex Permyakov
- .map (), .filter () และ. reduce () - Andy Pickle
- แผนที่/ตัวกรอง/ลดความผิดพลาด - Chris Achard
- แผนที่กรองและลด - ภาพเคลื่อนไหว - ครู JavaScript
- แผนที่ตัวกรองลดและอื่น ๆ อาร์เรย์ตัววนซ้ำคุณต้องรู้ว่าจะกลายเป็นวิซาร์ดอัลกอริทึม - Mauro Bono
- วิธีใช้ JavaScript .Map, .filter และ. Reduce - Avery Duffin
- การทดสอบประสิทธิภาพของ JavaScript - สำหรับ VS สำหรับแต่ละ Vs (แผนที่, ลด, กรอง, ค้นหา) - Deepak Gupta
- ใช้. map (), .filter () และ. reduce () อย่างถูกต้อง - sasanka kudagoda
- การเรียนรู้วิธีลด JavaScript ✂ - Sanderdebr
- แผนที่ JavaScript - วิธีใช้ฟังก์ชัน JS .MAP () (วิธีการอาร์เรย์) - FreeCodecamp
วิดีโอ
- แผนที่กรองและลด - Lydia Hallie
- แผนที่กรองและลด - Akshaay Saini
- JavaScript ที่ใช้งานได้: แผนที่, foreach, ลด, ตัวกรอง - Theodore Anderson
- JavaScript Array Superpowers: แผนที่, ตัวกรอง, ลด (ส่วนที่ 1) - Michael Rosata
- JavaScript Array Superpowers: แผนที่, ตัวกรอง, ลด (ตอนที่ 2) - Michael Rosata
- ฟังก์ชั่นลำดับที่สูงขึ้นของ JavaScript - ตัวกรอง, แผนที่, เรียงลำดับและลด - epicop
- [วิธีอาร์เรย์ 2/3] .Filter + .MAP + .Reduce - CodeWithNick
- ฟังก์ชั่นลูกศรใน JavaScript - อะไรทำไมและอย่างไร - ฟังก์ชั่นสนุก ๆ
- การเรียนรู้การเขียนโปรแกรมการทำงานด้วย JavaScript - Anjana Vakil - JSUNCONF
- แผนที่ - Parte 2 JavaScript - ฟังก์ชั่นสนุก
- Reduce basics - Part 3 of FP in JavaScript - Fun Fun Function
- Reduce Advanced - Part 4 of FP in JavaScript - Fun Fun Function
- reduce Array Method | JavaScript Tutorial - Florin Pop
- map Array Method | JavaScript Tutorial - Florin Pop
- Different array methods in 1 minute | Midudev (Spanish)
⬆ Back to Top
20. Pure Functions, Side Effects, State Mutation and Event Propagation
บทความ
- Javascript and Functional Programming — Pure Functions — Omer Goldberg
- Master the JavaScript Interview: What is a Pure Function? — Eric Elliott
- JavaScript: What Are Pure Functions And Why Use Them? — James Jeffery
- Pure functions in JavaScript — @nicoespeon
- Functional Programming: Pure Functions — Arne Brasseur
- Making your JavaScript Pure — Jack Franklin
- Arrays, Objects and Mutations — Federico Knüssel
- The State of Immutability — Maciej Sikora
- Hablemos de Inmutabilidad — Kike Sanchez
- How to deal with dirty side effects in your pure functional JavaScript — James Sinclair
- Preventing Side Effects in JavaScript — David Walsh
- JavaScript: Pure Functions — William S. Vincent
- Functional programming paradigms in modern JavaScript: Pure functions — Alexander Kondov
- Understanding Javascript Mutation and Pure Functions — Chidume Nnamdi
- Functional-ish JavaScript — Daniel Brain
- Event Propagation — MDN
- Event Propagation — Bubbling and capturing
วิดีโอ
- Pure Functions — Hexlet
- Pure Functions - Functional Programming in JavaScript — Paul McBride
- JavaScript Pure Functions — Seth Alexander
- JavaScript Pure vs Impure Functions Explained — Theodore Anderson
- Pure Functions - Programação Funcional: Parte 1 - Fun Fun Function
- Event Propagation - JavaScript Event Bubbling and Propagation - Steve Griffith
⬆ Back to Top
21. Closures
อ้างอิง
- Closures — MDN
- Closure — JavaScript.Info
บทความ
- I never understood JavaScript closures — Olivier De Meulder
- Understand JavaScript Closures With Ease — Richard Bovell
- Understanding JavaScript Closures — Codesmith
- Understand Closures in JavaScript — Brandon Morelli
- A simple guide to help you understand closures in JavaScript — Prashant Ram
- Understanding JavaScript Closures: A Practical Approach — Paul Upendo
- Understanding JavaScript: Closures — Alexander Kondov
- How to use JavaScript closures with confidence — Léna Faure
- JavaScript closures by example — tyler
- JavaScript — Closures and Scope — Alex Aitken
- Discover the power of closures in JavaScript — Cristi Salcescu
- Getting Closure — RealLifeJS
- Closure, Currying and IIFE in JavaScript — Ritik
- Understanding Closures in JavaScript — Sukhjinder Arora
- A basic guide to Closures in JavaScript — Parathan Thiyagalingam
- Closures: Using Memoization — Brian Barbour
- A Brief Introduction to Closures and Lexical Scoping in JavaScript — Ashutosh K Singh
- Demystify Closures — stereobooster
- Scopes and Closures - JavaScript Concepts — Agney Menon
- Understanding Closures in JavaScript — Matt Popovich
- whatthefuck.is · A Closure - Dan Abramov
- Closures in JavaScript can... - Brandon LeBoeuf
- Do you know Closures - Mohamed Khaled
วิดีโอ
- JavaScript The Hard Parts: Closure, Scope & Execution Context - Codesmith
- Namaste Javascript by Akshay Saini
- Javascript Closure — techsith
- Closures — Fun Fun Function
- Closures in JavaScript — techsith
- JavaScript Closures 101: What is a closure? — JavaScript Tutorials
- Closures — freeCodeCamp
- JavaScript Closures — CodeWorkr
- Closures in JS - Akshay Saini
- CLOSURES en JavaScript: Qué son y cómo funcionan - Carlos Azaustre
- Learn Closures In 7 Minutes - Web Dev Simplified
⬆ Back to Top
22. High Order Functions
หนังสือ
- Eloquent JavaScript, 3rd Edition: Ch. 5 - Higher-order Functions
บทความ
- Higher-Order Functions in JavaScript — M. David Green
- Higher Order Functions: Using Filter, Map and Reduce for More Maintainable Code — Guido Schmitz
- First-class and Higher Order Functions: Effective Functional JavaScript — Hugo Di Francesco
- Higher Order Functions in JavaScript — John Hannah
- Just a reminder on how to use high order functions — Pedro Filho
- Understanding Higher-Order Functions in JavaScript — Sukhjinder Arora
- Higher Order Functions - A pragmatic approach — emmanuel ikwuoma
วิดีโอ
- JavaScript Higher Order Functions & Arrays — Traversy Media
- Higher Order Functions — Fun Fun Function
- Higher Order Functions in Javascript — Raja Yogan
- Higher Order Iterators in JavaScript — Fun Fun Function
- Higher Order Functions in JavaScript — The Coding Train
- Part 1: An Introduction to Callbacks and Higher Order Functions - Codesmith
- Part 2: Understanding Why We Need Higher Order Functions - Codesmith
- Higher-Order Functions ft. Functional Programming - Akshay Saini
⬆ Back to Top
23. Recursion
บทความ
- Recursion in JavaScript — Kevin Ennis
- Understanding Recursion in JavaScript — Zak Frisch
- Learn and Understand Recursion in JavaScript — Brandon Morelli
- Recursion in Functional JavaScript — M. David Green
- Programming with JS: Recursion — Alexander Kondov
- Anonymous Recursion in JavaScript — simo
- Recursion, iteration and tail calls in JS — loverajoel
- What is Recursion? A Recursive Function Explained with JavaScript Code Examples — Nathan Sebhastian
- Intro to Recursion — Brad Newman
- Accio Recursion!: Your New Favorite JavaScript Spell — Leanne Cabey
- Recursion Explained (with Examples) — Christina
วิดีโอ
- Recursion In JavaScript — techsith
- Recursion — Fun Fun Function
- Recursion and Recursive Functions — Hexlet
- Recursion: Recursion() — JS Monthly — Lucas da Costa
- Recursive Function in JavaScript — kudvenkat
- What on Earth is Recursion? — Computerphile
- Javascript Tutorial 34: Introduction To Recursion — codedamn
- Recursion, Iteration, and JavaScript: A Love Story | JSHeroes 2018 — Anjana Vakil
- Recursion crash course - Colt Steele
- What Is Recursion - In Depth - Web Dev Simplified
⬆ Back to Top
24. Collections and Generators
อ้างอิง
บทความ
- ES6 In Depth: Collections — Jason Orendorff
- ES6 Collections: Using Map, Set, WeakMap, WeakSet — Kyle Pennell
- ES6 WeakMaps, Sets, and WeakSets in Depth — Nicolás Bevacqua
- Map, Set, WeakMap and WeakSet — JavaScript.Info
- Maps in ES6 - A Quick Guide — Ben Mildren
- ES6 — Set vs Array — What and when? — Maya Shavin
- ES6 — Map vs Object — What and when? — Maya Shavin
- Array vs Set vs Map vs Object — Real-time use cases in Javascript (ES6/ES7) — Rajesh Babu
- How to create an array of unique values in JavaScript using Sets — Claire Parker-Jones
- What You Should Know About ES6 Maps — Just Chris
- ES6 Maps in Depth — Nicolás Bevacqua
- What are JavaScript Generators and how to use them — Vladislav Stepanov
- Understanding JavaScript Generators With Examples — Arfat Salman
- The Basics of ES6 Generators — Kyle Simpson
- An Introduction to JavaScript Generators — Alice Kallaugher
วิดีโอ
- JavaScript ES6 / ES2015 Set, Map, WeakSet and WeakMap — Traversy Media
- JavaScript ES6 / ES2015 - [11] Generators - Traversy Media
- The Differences between ES6 Maps and Sets — Steve Griffith
- Javascript Generators - THEY CHANGE EVERYTHING - ES6 Generators Harmony Generators — LearnCode.academy
⬆ Back to Top
25. Promises
อ้างอิง
บทความ
- JavaScript Promises for Dummies ― Jecelyn Yeen
- Understanding promises in JavaScript — Gokul NK
- Master the JavaScript Interview: What is a Promise? — Eric Elliott
- An Overview of JavaScript Promises — Sandeep Panda
- How to use Promises in JavaScript — Prashant Ram
- Implementing Promises In JavaScript — Maciej Cieslar
- JavaScript: Promises explained with simple real life analogies — Shruti Kapoor
- Promises for Asynchronous Programming — Exploring JS
- JavaScript Promises Explained By Gambling At A Casino — Kevin Kononenko
- ES6 Promises: Patterns and Anti-Patterns — Bobby Brennan
- A Simple Guide to ES6 Promises — Brandon Morelli
- The ES6 Promises — Manoj Singh Negi
- ES6 Promises in Depth — Nicolás Bevacqua
- Playing with Javascript Promises: A Comprehensive Approach — Rajesh Babu
- How to Write a JavaScript Promise — Brandon Wozniewicz
- A Coding Writer's Guide: An Introduction To ES6 Promises — Andrew Ly
- Understanding Promises in JavaScript — Chris Noring
- Converting callbacks to promises — Zell Liew
- JavaScript Promises: Zero To Hero Plus Cheat Sheet — Joshua Saunders
- Promises - JavaScript concepts — Agney Menon
- Javascript
Promise
101 — Igor Irianto - Simplify JavaScript Promises — Sunny Singh
- The Lowdown on Promises — Aphinya Dechalert
- JavaScript Visualized: Promises & Async/Await — Lydia Hallie
- Promises in JavaScript — Peter Klingelhofer
- Best Practices for ES6 Promises — Basti Ortiz
- Lo que debemos saber de EScript 2020 — Kike Sanchez
- Promise Basics - javascript.info
- The Complete JavaScript Promise Guide
- Promise Chaining - javascript.info
วิดีโอ
- Let's Learn ES6 - Promises — Ryan Christiani
- JavaScript ES6 / ES2015 Promises — Traversy Media
- Promises — Fun Fun Function
- Error Handling Promises in JavaScript — Fun Fun Function
- Promises Part 1 - Topics of JavaScript/ES6 — The Coding Train
- JavaScript Promise in 100 Seconds
- JavaScript Promise in 9 Minutes
- JavaScript Promises In 10 Minutes — Web Dev Simplified
- Promises | Ep 02 Season 02 - Namaste JavaScript - Akshay Saini
⬆ Back to Top
26. async/await
อ้างอิง
- async/await — JavaScript.Info
หนังสือ
- Eloquent JavaScript, 3rd Edition: Ch. 11 - Asynchronous Programming
- Exploring JS: Asynchronous Programming
บทความ
- Understanding async/await in Javascript — Gokul NK
- Asynchronous Javascript using async/await — Joy Warugu
- Modern Asynchronous JavaScript with async/await — Flavio Copes
- Asynchronous JavaScript: From Callback Hell to Async and Await — Demir Selmanovic
- Javascript — ES8 Introducing async/await Functions — Ben Garrison
- How to escape async/await hell — Aditya Agarwal
- Understanding JavaScript's async await — Nicolás Bevacqua
- JavaScript Async/Await: Serial, Parallel and Complex Flow — TechBrij
- From JavaScript Promises to Async/Await: why bother? — Chris Nwamba
- Flow Control in Modern JS: Callbacks to Promises to Async/Await — Craig Buckler
- How to improve your asynchronous Javascript code with async and await — Indrek Lasn
- Making Fetches Easy With Async Await — Mickey Sheridan
- 7 Reasons Why JavaScript Async/Await Is Better Than Plain Promises — Mostafa Gaafar
- Asynchronous Operations in JavaScript — Jscrambler
- JavaScript: Promises or async-await — Gokul NK
- Async / Await: From Zero to Hero — Zhi Yuan
- JavaScript Visualized: Promises & Async/Await — Lydia Hallie
- Making asynchronous programming easier with async and await — MDN
- JavaScript Async/Await Tutorial – Learn Callbacks, Promises, and Async/Await in JS by Making Ice Cream
- Better Than Promises - JavaScript Async/Await
วิดีโอ
- Asynchronous JavaScript Crash Course
- Async + Await — Wes Bos
- Asynchrony: Under the Hood — Shelley Vohr
- async/await in JavaScript - What, Why and How — Fun Fun Function
- async/await Part 1 - Topics of JavaScript/ES8 — The Coding Train
- async/await Part 2 - Topics of JavaScript/ES8 — The Coding Train
- Complete Guide to JS Async & Await ES2017/ES8 — Colt Steele
- Tips for using async/await in JavaScript — James Q Quick
- JavaScript Async Await — Web Dev Simplified
- Promise async and await in javascript — Hitesh Choudhary
⬆ Back to Top
27. Data Structures
บทความ
- Data Structures in JavaScript — Thon Ly
- Algorithms and Data Structures in JavaScript — Oleksii Trekhleb
- Data Structures: Objects and Arrays ― Chris Nwamba
- Data structures in JavaScript — Benoit Vallon
- Playing with Data Structures in Javascript — Anish K.
- The Little Guide of Queue in JavaScript — Germán Cutraro
- All algorithms writing with JavaScript in the book 'Algorithms Fourth Edition'
- Collection of classic computer science paradigms in JavaScript
- All the things you didn't know you wanted to know about data structures
- JavaScript Data Structures: 40 Part Series — miku86
- Data Structures: Understanding Graphs — Rachel Hawa
- Data Structures Two Ways: Linked List (Pt 1) — Freddie Duffield
- Data Structures Two Ways: Linked List (Pt 2) — Freddie Duffield
- Graph Data Structures Explained in JavaScript — Adrian Mejia
วิดีโอ
- Algorithms In Javascript | Ace Your Interview — Eduonix Learning Solutions
- Data Structures and Algorithms in JavaScript — freeCodeCamp
- Learning JavaScript Data Structures and Algorithms: Sorting — Packt Video
- JavaScript Data Structures: Getting Started — Academind
⬆ Back to Top
28. Expensive Operation and Big O Notation
บทความ
- Big O Notation in Javascript — César Antón Dorantes
- Time Complexity/Big O Notation — Tim Roberts
- Big O in JavaScript — Gabriela Medina
- Big O Search Algorithms in JavaScript — Bradley Braithwaite
- Algorithms in plain English: time complexity and Big-O Notation — Michael Olorunnisola
- An Introduction to Big O Notation — Joseph Trettevik
วิดีโอ
- JavaScript: Intro to Big O Notation and Function Runtime — Eric Traub
- Essential Big O for JavaScript Developers — Dave Smith
- Big O Notation - Time Complexity Analysis — WebTunings
- Learn Big O Notation In 12 Minutes - Web Dev Simplified
- JavaScript Algorithms: Big-O Notation - Codevolution
- JavaScript Algorithms Crash Course: Learn Algorithms & "Big O" from the Ground Up! - Academind
- Big O Notation - Data Structures and Algorithms in Javascript - RoadSideCoder
⬆ Back to Top
29. Algorithms
บทความ
- Data Structures and Algorithms using ES6
- Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- JS: Interview Algorithm
- Algorithms in JavaScript — Thon Ly
- JavaScript Objects, Square Brackets and Algorithms — Dmitri Grabov
- Atwood's Law applied to CS101 - Classic algorithms and data structures implemented in JavaScript
- Data Structures and Algorithms library in JavaScript
- Collection of computer science algorithms and data structures written in JavaScript
- Algorithms and Data Structures in JavaScript — Oleksii Trekhleb
วิดีโอ
- - JavaScript Algorithms - Codevolution
- - Dynamic Programming - Learn to Solve Algorithmic Problems & Coding Challenges - FreeCodeCamp
- - Data Structures and Algorithms in Javascript | DSA with JS - RoadsideCoder
- - Javascript Algorithms + Data Structures - KodingKevin
- - JavaScript Data Structures: Getting Started - Academind
- - Algorithms and Data Structures - The Coding Train (Daniel Shiffman)
⬆ Back to Top
30. Inheritance, Polymorphism and Code Reuse
อ้างอิง
- Inheritance in JavaScript — MDN
- Class inheritance, super — JavaScript.Info
บทความ
- Inheritance in JavaScript — Rupesh Mishra
- Simple Inheritance with JavaScript — David Catuhe
- JavaScript — Inheritance, delegation patterns and Object linking — NC Patro
- Object Oriented JavaScript: Polymorphism with examples — Knoldus Blogs
- Program Like Proteus — A beginner's guide to polymorphism in Javascript — Sam Galson
- Object-oriented JavaScript: A Deep Dive into ES6 Classes — Jeff Mott
- Unlocking the Power of Polymorphism in JavaScript: A Deep Dive
วิดีโอ
- Inheritance in JavaScript — kudvenkat
- JavaScript ES6 Classes and Inheritance — Traversy Media
- Polymorphism in JavaScript — kudvenkat
⬆ Back to Top
31. Design Patterns
หนังสือ
- Learning JavaScript Design Patterns — Addy Osmani
- Pro JavaScript Design Patterns — Ross Harmes and Dustin Diaz
บทความ
- JavaScript Design Patterns – Explained with Examples — Germán Cocca
- 4 JavaScript Design Patterns You Should Know — Devan Patel
- JavaScript Design Patterns – Beginner's Guide to Mobile Web Development — Soumyajit Pathak
- JavaScript Design Patterns — Akash Pal
- JavaScript Design Patterns: Understanding Design Patterns in JavaScript - Sukhjinder Arora
- All the 23 (GoF) design patterns implemented in Javascript — Felipe Beline
- The Power of the Module Pattern in JavaScript — jsmanifest
- Design Patterns for Developers using JavaScript pt. I — Oliver Mensah
- Design Patterns for Developers using JavaScript pt. II — Oliver Mensah
- Design patterns in modern JavaScript development
- Understanding Design Patterns: Iterator using Dev.to and Medium social networks! — Carlos Caballero
- JavaScript Design Patterns - Factory Pattern — KristijanFištrek
- JavaScript Design Pattern — Module Pattern - Factory Pattern — Moon
- Design Patterns: Null Object - Carlos Caballero
- Strategy Pattern - Francesco Ciulla
- Adapter Pattern - Francesco Ciulla
- The Power of Composite Pattern in JavaScript - jsmanifest
- In Defense of Defensive Programming - Adam Nathaniel Davis
- JavaScript Patterns Workshop — Lydia Hallie
วิดีโอ
- JavaScript Design Patterns — Udacity
- JavaScript Patterns for 2017 — Scott Allen
⬆ Back to Top
32. Partial Applications, Currying, Compose and Pipe
หนังสือ
- Functional-Light JavaScript: Ch. 3 - Managing Function Inputs — Kyle Simpson
บทความ
- Composition and Currying Elegance in JavaScript — Pragyan Das
- Functional JavaScript: Function Composition For Every Day Use — Joel Thoms
- Functional Composition: compose() and pipe() — Anton Paras
- Why The Hipsters Compose Everything: Functional Composing In JavaScript — A. Sharif
- A Gentle Introduction to Functional JavaScript pt III: Functions for making functions — James Sinclair
- Curry And Compose (why you should be using something like ramda in your code) — jsanchesleao
- Function Composition in JavaScript with Pipe — Andy Van Slaars
- Practical Functional JavaScript with Ramda — Andrew D'Amelio, Yuri Takhteyev
- The beauty in Partial Application, Currying, and Function Composition — Joel Thoms
- Curry or Partial Application? — Eric Elliott
- Partial Application in JavaScript — Ben Alman
- Partial Application of Functions — Functional Reactive Ninja
- Currying vs Partial Application — Deepak Gupta
- Partial Application in ECMAScript 2015 — Ragan Wald
- So You Want to be a Functional Programmer pt. I — Charles Scalfani
- So You Want to be a Functional Programmer pt. II — Charles Scalfani
- So You Want to be a Functional Programmer pt. III — Charles Scalfani
- So You Want to be a Functional Programmer pt. IV — Charles Scalfani
- So You Want to be a Functional Programmer pt. V — Charles Scalfani
- An introduction to the basic principles of Functional Programming — TK
- Concepts of Functional Programming in Javascript — TK
- An Introduction to Functional Programming Style in JavaScript — JavaScript Teacher
- A practical guide to writing more functional JavaScript — Nadeesha Cabral
- A simple explanation of functional pipe in JavaScript — Ben Lesh
วิดีโอ
- Compose vs Pipe: Functional Programming in JavaScript — Chyld Studios
- JavaScript Functional Programing: Compose — Theodore Anderson
- Function Composition - Functional JavaScript — NWCalvank
- JavaScript Function Composition Explained — Theodore Anderson
- Let's code with function composition — Fun Fun Function
- Partial Application vs. Currying — NWCalvank
- JavaScript Partial Application — Theodore Anderson
- call, apply and bind method in JavaScript
⬆ Back to Top
33. Clean Code
บทความ
- Clean Code Explained – A Practical Introduction to Clean Coding for Beginners — freeCodeCamp
- Clean Code concepts adapted for JavaScript — Ryan McDermott
- Clean Code Practice: How to write clean code — Tirth Bodawala
- Function parameters in JavaScript Clean Code — Kevin Peters
- Keeping your code clean — Samuel James
- Best Practices for Using Modern JavaScript Syntax — M. David Green
- best practices for cross node/web development - Jimmy Wärting
- Writing Clean Code - Dylan Paulus
- Writing Clean Code and The Practice of Programming - Nityesh Agarwal
- Clean code, dirty code, human code - Daniel Irvine
- Practical Ways to Write Better JavaScript - Ryland G
- The Must-Know Clean Code Principles - Kesk on Medium
- The Clean Code Book - Robert C Martin
- How to use destructuring in JavaScript to write cleaner, more powerful code - freecodecamp
- Write Clean Code Using JavaScript Object Destructuring - Asel Siriwardena
- JavaScript Clean Coding Best Practices
วิดีโอ
- - JavaScript Pro Tips - Code This, NOT That
- - Clean Code playlist - Beau teaches
- - JavaScript Best Practices and Coding Conventions - Write Clean Code
- - JavaScript Clean Code
- - Tips On Learning How To Code
⬆ Back to Top
ใบอนุญาต
This software is licensed under MIT License, See License for more information ©Leonardo Maldonado.