1. Урок 1.00:01:54
    Welcome to the Course!
  2. Урок 2.00:05:15
    About this Course
  3. Урок 3.00:01:40
    Course Requirements & Info
  4. Урок 4.00:02:06
    How To Take This Course
  5. Урок 5.00:00:31
    Module Introduction
  6. Урок 6.00:02:40
    Getting Started
  7. Урок 7.00:02:32
    Scope in Theory
  8. Урок 8.00:04:08
    Introducing Global and Local (Function) Scope
  9. Урок 9.00:06:48
    How Scope Works
  10. Урок 10.00:07:57
    Getting to Know "Block Scope"
  11. Урок 11.00:01:45
    Scope Overview
  12. Урок 12.00:11:03
    Special Cases
  13. Урок 13.00:07:12
    The Global Object
  14. Урок 14.00:04:14
    Scope Across Files
  15. Урок 15.00:07:54
    Modules & Scope
  16. Урок 16.00:03:55
    Variable Shadowing
  17. Урок 17.00:04:01
    What is "Hoisting"?
  18. Урок 18.00:07:33
    Hoisting in Action
  19. Урок 19.00:03:06
    Hoisting Inside Of Functions
  20. Урок 20.00:05:58
    "let" & "const" and Hoisting
  21. Урок 21.00:03:13
    Hoisting Precedence
  22. Урок 22.00:00:35
    Module Introduction
  23. Урок 23.00:02:39
    Direct vs Indirect Function Execution
  24. Урок 24.00:03:31
    Direct Execution in Action
  25. Урок 25.00:04:54
    Indirect Execution in Action
  26. Урок 26.00:02:25
    Indirect Execution With Anonymous Functions
  27. Урок 27.00:07:50
    Indirect Execution and Passing Arguments
  28. Урок 28.00:00:22
    Module Introduction
  29. Урок 29.00:03:24
    Loops Overview
  30. Урок 30.00:06:10
    The "for" Loop
  31. Урок 31.00:02:47
    The "for" Loop with "let"
  32. Урок 32.00:07:05
    The "for ... in ..." Loop
  33. Урок 33.00:05:10
    The "for ... of ..." Loop
  34. Урок 34.00:04:05
    Using forEach()
  35. Урок 35.00:00:40
    Module Introduction
  36. Урок 36.00:07:04
    What are "Primitive" and "Reference Values"?
  37. Урок 37.00:06:28
    Primitive Values in Action
  38. Урок 38.00:03:01
    Reference Values in Action
  39. Урок 39.00:02:33
    Behind the Scenes
  40. Урок 40.00:02:36
    Immutability vs Mutability
  41. Урок 41.00:04:38
    Primitive Wrapper Objects
  42. Урок 42.00:05:33
    "const" & Mutation
  43. Урок 43.00:06:07
    Reference Value Equality
  44. Урок 44.00:13:02
    Copying Reference Values
  45. Урок 45.00:00:46
    Module Introduction
  46. Урок 46.00:03:18
    What's Special About Types in JavaScript?
  47. Урок 47.00:05:49
    What is "Coercion"?
  48. Урок 48.00:06:15
    How Operators Influence Types & Coercion
  49. Урок 49.00:09:39
    Coercion Rules
  50. Урок 50.00:07:30
    Arithmetic Operators & Basic Comparisons
  51. Урок 51.00:06:00
    Comparison Operators for Booleans & Coercion
  52. Урок 52.00:04:59
    Truthy and Falsy Values
  53. Урок 53.00:04:46
    Boolean Return Values
  54. Урок 54.00:03:47
    Explicit Boolean Coercion with the Double Bang Operator
  55. Урок 55.00:02:58
    Semi-explicit Value Coercion
  56. Урок 56.00:07:19
    The Special Case of "null"
  57. Урок 57.00:04:11
    More on null, undefined and NaN
  58. Урок 58.00:03:42
    Objects & Arrays - Coercion Theory
  59. Урок 59.00:05:19
    Objects & Arrays - Coercion in Action
  60. Урок 60.00:06:13
    Objects & Comparisons
  61. Урок 61.00:04:09
    Explicit Object Coercion
  62. Урок 62.00:02:34
    Implicit Number Coercion for Objects
  63. Урок 63.00:01:48
    Wrap Up
  64. Урок 64.00:16:30
    Quiz & Time to Practice
  65. Урок 65.00:00:48
    Module Introduction
  66. Урок 66.00:08:37
    What is "Recursion"?
  67. Урок 67.00:11:46
    A Look Under The Hood
  68. Урок 68.00:07:29
    Analyzing Recursion with the Browser DevTools
  69. Урок 69.00:20:53
    Where Recursion Shines
  70. Урок 70.00:00:48
    Module Introduction
  71. Урок 71.00:04:16
    Closures in Theory
  72. Урок 72.00:02:28
    Closures in Practice
  73. Урок 73.00:03:23
    Multiple Environments & Closures
  74. Урок 74.00:05:40
    How Closures Actually Work
  75. Урок 75.00:09:38
    A Special Case
  76. Урок 76.00:00:39
    Module Introduction
  77. Урок 77.00:05:25
    What is "Async Code"?
  78. Урок 78.00:04:18
    JavaScript is Single-Threaded!
  79. Урок 79.00:08:06
    Callbacks
  80. Урок 80.00:02:51
    Another Callback Example
  81. Урок 81.00:05:36
    Promises
  82. Урок 82.00:11:15
    Promises in Action
  83. Урок 83.00:08:05
    Behind the Scenes of Promises
  84. Урок 84.00:05:07
    Working with "then()"
  85. Урок 85.00:03:25
    Promisifying APIs
  86. Урок 86.00:10:17
    Handling Errors
  87. Урок 87.00:03:00
    Using "catch()"
  88. Урок 88.00:03:20
    Rejecting Promises - Behind the Scenes
  89. Урок 89.00:08:21
    Using async/ await
  90. Урок 90.00:00:44
    Module Introduction
  91. Урок 91.00:06:15
    What is "this" about?
  92. Урок 92.00:03:28
    "this" in Action
  93. Урок 93.00:04:17
    How "this" works
  94. Урок 94.00:10:03
    Special & Tricky Cases
  95. Урок 95.00:05:49
    "Fixing" "this": Helper Variables & bind()
  96. Урок 96.00:04:23
    Working with Arrow Functions
  97. Урок 97.00:00:42
    Module Introduction
  98. Урок 98.00:11:20
    JavaScript Objects - Refresher (incl. Constructor Functions)
  99. Урок 99.00:09:44
    What are "Prototypes" in JavaScript?
  100. Урок 100.00:05:50
    Understanding Prototypes
  101. Урок 101.00:03:16
    The Prototype Chain
  102. Урок 102.00:03:47
    Setting & Changing Prototypes
  103. Урок 103.00:06:03
    Pre-defining the Prototype on Constructor Functions
  104. Урок 104.00:06:38
    Changing Prototypes (Patching)
  105. Урок 105.00:04:19
    The Default Prototype and "Monkey Patching"
  106. Урок 106.00:02:52
    Prototypes & "this"
  107. Урок 107.00:09:33
    Protoypes, Classes & Methods
  108. Урок 108.00:02:25
    Prototypes and the "constructor" Property (Method)