oimo23 / 33-js-concepts

๐Ÿ“œ ็ฟป่จณ๏ผšJavaScript้–‹็™บ่€…ใŒ็Ÿฅใ‚‹ในใ33ใฎใ‚ณใƒณใ‚ปใƒ—ใƒˆ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


JavaScript้–‹็™บ่€…ใŒ็Ÿฅใ‚‹ในใ33ใฎใ‚ณใƒณใ‚ปใƒ—ใƒˆ

JavaScript้–‹็™บ่€…ใŒ็Ÿฅใ‚‹ในใ33ใฎใ‚ณใƒณใ‚ปใƒ—ใƒˆ

PRs Welcome License MIT Build Status

ใ‚คใƒณใƒˆใƒญใƒ€ใ‚ฏใ‚ทใƒงใƒณ

ใ“ใฎใƒชใƒใ‚ธใƒˆใƒชใฏใ€้–‹็™บ่€…ใŒJavaScriptใฎๆฆ‚ๅฟตใ‚’ใ‚ˆใ‚Š็ฟ’ๅพ—ใงใใ‚‹ใ‚ˆใ†ใซใ™ใ‚‹ใ“ใจใ‚’็›ฎ็š„ใจใ—ใฆไฝœๆˆใ•ใ‚Œใพใ—ใŸใ€‚
ใ“ใ‚Œใ‚‰ใฏๅฟ…้ ˆ็Ÿฅ่ญ˜ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใŒใ€ใ‚ˆใ‚Šๆทฑใ„็†่งฃใซๅฝน็ซ‹ใคใงใ—ใ‚‡ใ†ใ€‚

Stephen Curtis่‘— ใฎ่จ˜ไบ‹ใซๅŸบใฅใใ‚‚ใฎใงใ™ใ€‚
ใใฎ่จ˜ไบ‹ใฏใ“ใกใ‚‰ใง่ชญใ‚ใพใ™ใ€‚

๐Ÿš€ GitHubใฎ2018ๅนดใฎใƒˆใƒƒใƒ—ใ‚ชใƒผใƒ—ใƒณใ‚ฝใƒผใ‚นใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎ1ใคใจใ—ใฆๅ–ใ‚ŠไธŠใ’ใ‚‰ใ‚Œใพใ—ใŸ๏ผ(https://blog.github.com/2018-12-13-new-open-source-projects/)

ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ

ใ‚ใชใŸ่‡ช่บซใฎ่ฆ็ด„ใ‚„ใƒฌใƒ“ใƒฅใƒผใธใฎใƒชใƒณใ‚ฏใ‚’่ฟฝๅŠ ใ—ใŸๅ ดๅˆใฏใ€ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’้€ใฃใฆใใ ใ•ใ„ใ€‚
ใƒชใƒใ‚ธใƒˆใƒชใ‚’ๆฏๅ›ฝ่ชžใซ็ฟป่จณใ—ใŸใ„ๅ ดๅˆใฏใ€้ ๆ…ฎใชใ่กŒใฃใฆใใ ใ•ใ„ใ€‚

ไปฅไธ‹ใฏ็ฟป่จณใƒชใ‚นใƒˆใงใ™ใ€‚


็›ฎๆฌก (table-of-contents)

  1. ใ‚ณใƒผใƒซใ‚นใ‚ฟใƒƒใ‚ฏ (Call Stack)
  2. ใƒ—ใƒชใƒŸใƒ†ใ‚ฃใƒ–ๅž‹ (Primitive Types)
  3. ๅ€คๅž‹ใจๅ‚็…งๅž‹ (Value Types and Reference Types)
  4. Implicit, Explicit, Nominal, Structuring and Duck Typing
  5. == vs === vs typeof
  6. ้–ขๆ•ฐใ‚นใ‚ณใƒผใƒ—ใ€ใƒ–ใƒญใƒƒใ‚ฏใ‚นใ‚ณใƒผใƒ—ใ€้™็š„ใ‚นใ‚ณใƒผใƒ— (Function Scope, Block Scope and Lexical Scope)
  7. ๅผ (Expression) vs ๆ–‡ (Statement)
  8. ๅณๆ™‚้–ขๆ•ฐใ€ใƒขใ‚ธใƒฅใƒผใƒซใ€ๅๅ‰็ฉบ้–“ (IIFE, Modules and Namespaces)
  9. ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚ญใƒฅใƒผใจใ‚คใƒ™ใƒณใƒˆใƒซใƒผใƒ— (Message Queue and Event Loop)
  10. setTimeout, setInterval and requestAnimationFrame
  11. JavaScriptใ‚จใƒณใ‚ธใƒณ (JavaScript Engines)
  12. ใƒ“ใƒƒใƒˆๆผ”็ฎ—ๅญใ€ๅž‹ไป˜ใ้…ๅˆ—ใ€ใƒใƒƒใƒ•ใ‚ก (Bitwise Operators, Type Arrays and Array Buffers)
  13. DOMใจใƒฌใ‚คใ‚ขใ‚ฆใƒˆใƒ„ใƒชใƒผ (DOM and Layout Trees)
  14. ใƒ•ใ‚กใ‚ฏใƒˆใƒชใจใ‚ฏใƒฉใ‚น (Factories and Classes)
  15. this, call, apply and bind
  16. new, Constructor, instanceof and Instances
  17. ใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—็ถ™ๆ‰ฟใจใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—ใƒใ‚งใƒผใƒณ (Prototype Inheritance and Prototype Chain)
  18. Object.createใจObject.assign (Object.create and Object.assign)
  19. map, reduce, filter
  20. ็ด”็ฒ‹้–ขๆ•ฐใ€ๅ‰ฏไฝœ็”จใ€็Šถๆ…‹ใฎๅค‰ๅŒ– (Pure Functions, Side Effects and State Mutation)
  21. ใ‚ฏใƒญใƒผใ‚ธใƒฃ (Closures)
  22. ้ซ˜้šŽ้–ขๆ•ฐ (High Order Functions)
  23. ๅ†ๅธฐ (Recursion)
  24. ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณใจใ‚ธใ‚งใƒใƒฌใƒผใ‚ฟ (Collections and Generators)
  25. ใƒ—ใƒญใƒŸใ‚น (Promises)
  26. async/await
  27. ใƒ‡ใƒผใ‚ฟๆง‹้€  (Data Structures)
  28. ้ซ˜่ฒ ่ทๅ‡ฆ็†ใจBigO่จ˜ๆณ• (Expensive Operation and Big O Notation)
  29. ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  (Algorithms)
  30. ็ถ™ๆ‰ฟใ€ใƒใƒชใƒขใƒผใƒ•ใ‚ฃใ‚บใƒ ใ€ใ‚ณใƒผใƒ‰ใฎๅ†ๅˆฉ็”จ (Inheritance, Polymorphism and Code Reuse)
  31. ใƒ‡ใ‚ถใ‚คใƒณใƒ‘ใ‚ฟใƒผใƒณ (Design Patterns)
  32. ้ƒจๅˆ†้ฉ็”จใ€ใ‚ซใƒชใƒผๅŒ–ใ€ComposeใจPipe (Partial Applications, Currying, Compose and Pipe)
  33. ็ถบ้บ—ใชใ‚ณใƒผใƒ‰ (Clean Code)

1. ใ‚ณใƒผใƒซใ‚นใ‚ฟใƒƒใ‚ฏ (Call Stack)

่จ˜ไบ‹

ๅ‹•็”ป

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


2. ใƒ—ใƒชใƒŸใƒ†ใ‚ฃใƒ–ๅž‹ (Primitive Types)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


3. ๅ€คๅž‹ใจๅ‚็…งๅž‹ (Value Types and Reference Types)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


4. Implicit, Explicit, Nominal, Structuring and Duck Typing

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


5. == vs === vs typeof

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


6. ้–ขๆ•ฐใ‚นใ‚ณใƒผใƒ—ใ€ใƒ–ใƒญใƒƒใ‚ฏใ‚นใ‚ณใƒผใƒ—ใ€้™็š„ใ‚นใ‚ณใƒผใƒ— (Function Scope, Block Scope and Lexical Scope)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


7. ๅผ (Expression) vs ๆ–‡ (Statement)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


8. ๅณๆ™‚้–ขๆ•ฐใ€ใƒขใ‚ธใƒฅใƒผใƒซใ€ๅๅ‰็ฉบ้–“ (IIFE, Modules and Namespaces)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


9. ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚ญใƒฅใƒผใจใ‚คใƒ™ใƒณใƒˆใƒซใƒผใƒ— (Message Queue and Event Loop)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


10. setTimeout, setInterval and requestAnimationFrame

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


11. JavaScriptใ‚จใƒณใ‚ธใƒณ (JavaScript Engines)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


12. ใƒ“ใƒƒใƒˆๆผ”็ฎ—ๅญใ€ๅž‹ไป˜ใ้…ๅˆ—ใ€ใƒใƒƒใƒ•ใ‚ก (Bitwise Operators, Type Arrays and Array Buffers)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


13. DOMใจใƒฌใ‚คใ‚ขใ‚ฆใƒˆใƒ„ใƒชใƒผ (DOM and Layout Trees)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


14. ใƒ•ใ‚กใ‚ฏใƒˆใƒชใจใ‚ฏใƒฉใ‚น (Factories and Classes)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


15. this, call, apply and bind

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


16. new, Constructor, instanceof and Instances

่จ˜ไบ‹

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


17. ใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—็ถ™ๆ‰ฟใจใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—ใƒใ‚งใƒผใƒณ (Prototype Inheritance and Prototype Chain)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


18. Object.createใจObject.assign (Object.create and Object.assign)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


19. map, reduce, filter

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


20. ็ด”็ฒ‹้–ขๆ•ฐใ€ๅ‰ฏไฝœ็”จใ€็Šถๆ…‹ใฎๅค‰ๅŒ– (Pure Functions, Side Effects and State Mutation)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


21. ใ‚ฏใƒญใƒผใ‚ธใƒฃ (Closures)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


22. ้ซ˜้šŽ้–ขๆ•ฐ (High Order Functions)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


23. ๅ†ๅธฐ (Recursion)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


24. ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณใจใ‚ธใ‚งใƒใƒฌใƒผใ‚ฟ (Collections and Generators)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


25. ใƒ—ใƒญใƒŸใ‚น (Promises)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


26. async/await

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


27. ใƒ‡ใƒผใ‚ฟๆง‹้€  (Data Structures)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


28. ้ซ˜่ฒ ่ทๅ‡ฆ็†ใจBigO่จ˜ๆณ• (Expensive Operation and Big O Notation)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


29. ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  (Algorithms)

่จ˜ไบ‹

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


30. ็ถ™ๆ‰ฟใ€ใƒใƒชใƒขใƒผใƒ•ใ‚ฃใ‚บใƒ ใ€ใ‚ณใƒผใƒ‰ใฎๅ†ๅˆฉ็”จ (Inheritance, Polymorphism and Code Reuse)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


31. ใƒ‡ใ‚ถใ‚คใƒณใƒ‘ใ‚ฟใƒผใƒณ (Design Patterns)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


32. ้ƒจๅˆ†้ฉ็”จใ€ใ‚ซใƒชใƒผๅŒ–ใ€ComposeใจPipe (Partial Applications, Currying, Compose and Pipe)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹


33. ็ถบ้บ—ใชใ‚ณใƒผใƒ‰ (Clean Code)

่จ˜ไบ‹

ใƒ“ใƒ‡ใ‚ช

โฌ† ใƒˆใƒƒใƒ—ใธๆˆปใ‚‹

About

๐Ÿ“œ ็ฟป่จณ๏ผšJavaScript้–‹็™บ่€…ใŒ็Ÿฅใ‚‹ในใ33ใฎใ‚ณใƒณใ‚ปใƒ—ใƒˆ

License:MIT License


Languages

Language:JavaScript 100.0%