JavaScript topic hub

Learn The JavaScript language

Follow 94 JavaScript lessons across 14 chapters in the The JavaScript language section of Learn JavaScript Online.

Search topics covered

  • The JavaScript language
  • The JavaScript language JavaScript
  • learn The JavaScript language
  • The JavaScript language tutorial
  • The JavaScript language lessons
  • JavaScript tutorial
  • learn JavaScript
  • JavaScript course

Lessons in this JavaScript topic

  1. 1.1An Introduction to JavaScript
  2. 1.2Manuals and specifications
  3. 1.3Code editors
  4. 1.4Developer console
  5. 2.1Hello, world!
  6. 2.2Code structure
  7. 2.3The modern mode, "use strict"
  8. 2.4Variables
  9. 2.5Data types
  10. 2.6Interaction: alert, prompt, confirm
  11. 2.7Type Conversions
  12. 2.8Basic operators, maths
  13. 2.9Comparisons
  14. 2.10Conditional branching: if, '?'
  15. 2.11Logical operators
  16. 2.12Nullish coalescing operator '??'
  17. 2.13Loops: while and for
  18. 2.14The "switch" statement
  19. 2.15Functions
  20. 2.16Function expressions
  21. 2.17Arrow functions, the basics
  22. 2.18JavaScript specials
  23. 3.1Debugging in the browser
  24. 3.2Coding Style
  25. 3.3Comments
  26. 3.4Ninja code
  27. 3.5Automated testing with Mocha
  28. 3.6Polyfills and transpilers
  29. 4.1Objects
  30. 4.2Object references and copying
  31. 4.3Garbage collection
  32. 4.4Object methods, "this"
  33. 4.5Constructor, operator "new"
  34. 4.6Optional chaining '?.'
  35. 4.7Symbol type
  36. 4.8Object to primitive conversion
  37. 5.1Methods of primitives
  38. 5.2Numbers
  39. 5.3Strings
  40. 5.4Arrays
  41. 5.5Array methods
  42. 5.6Iterables
  43. 5.7Map and Set
  44. 5.8WeakMap and WeakSet
  45. 5.9Object.keys, values, entries
  46. 5.10Destructuring assignment
  47. 5.11Date and time
  48. 5.12JSON methods, toJSON
  49. 6.1Recursion and stack
  50. 6.2Rest parameters and spread syntax
  51. 6.3Variable scope, closure
  52. 6.4The old "var"
  53. 6.5Global object
  54. 6.6Function object, NFE
  55. 6.7The "new Function" syntax
  56. 6.8Scheduling: setTimeout and setInterval
  57. 6.9Decorators and forwarding, call/apply
  58. 6.10Function binding
  59. 6.11Arrow functions revisited
  60. 7.1Property flags and descriptors
  61. 7.2Property getters and setters
  62. 8.1Prototypal inheritance
  63. 8.2F.prototype
  64. 8.3Native prototypes
  65. 8.4Prototype methods, objects without __proto__
  66. 9.1Class basic syntax
  67. 9.2Class inheritance
  68. 9.3Static properties and methods
  69. 9.4Private and protected properties and methods
  70. 9.5Extending built-in classes
  71. 9.6Class checking: "instanceof"
  72. 9.7Mixins
  73. 10.1Error handling, "try...catch"
  74. 10.2Custom errors, extending Error
  75. 11.1Introduction: callbacks
  76. 11.2Promise
  77. 11.3Promises chaining
  78. 11.4Error handling with promises
  79. 11.5Promise API
  80. 11.6Promisification
  81. 11.7Microtasks
  82. 11.8Async/await
  83. 12.1Generators
  84. 12.2Async iteration and generators
  85. 13.1Modules, introduction
  86. 13.2Export and Import
  87. 13.3Dynamic imports
  88. 14.1Proxy and Reflect
  89. 14.2Eval: run a code string
  90. 14.3Currying
  91. 14.4Reference Type
  92. 14.5BigInt
  93. 14.6Unicode, String internals
  94. 14.7WeakRef and FinalizationRegistry