All language subtitles for 025 JavaScript Releases_ ES5, ES6+ and ESNext

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt-PT Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,230 --> 00:00:03,900 Now that you're familiar with the fundamentals 2 00:00:03,900 --> 00:00:05,630 of the JavaScript language. 3 00:00:05,630 --> 00:00:08,250 We need to talk about JavaScript or releases 4 00:00:08,250 --> 00:00:11,290 or versions before moving on. 5 00:00:11,290 --> 00:00:14,430 And we briefly talked about this in the intro video, 6 00:00:14,430 --> 00:00:16,502 but now let's go into more depth 7 00:00:16,502 --> 00:00:18,500 because it's really important 8 00:00:18,500 --> 00:00:21,095 to know about how JavaScript releases work 9 00:00:21,095 --> 00:00:22,794 and how we can use them. 10 00:00:22,794 --> 00:00:25,653 It's important for your work as a web developer, 11 00:00:25,653 --> 00:00:29,130 and also because you will see these topics coming up 12 00:00:29,130 --> 00:00:31,690 in the developer community all the time. 13 00:00:31,690 --> 00:00:34,963 And so you wanna be able to understand what's going on. 14 00:00:35,819 --> 00:00:39,069 And the best way to start understanding JavaScript versions 15 00:00:39,069 --> 00:00:42,460 is by looking at the history of JavaScript. 16 00:00:42,460 --> 00:00:44,540 So let's do that. 17 00:00:44,540 --> 00:00:47,733 And let's start at the beginning of the internet itself. 18 00:00:47,733 --> 00:00:50,613 So quickly after the internet was invented, 19 00:00:50,613 --> 00:00:53,520 and two first web browsers were developed. 20 00:00:53,520 --> 00:00:57,810 Developers wanted to start making websites more interactive. 21 00:00:57,810 --> 00:00:58,650 In other words, 22 00:00:58,650 --> 00:01:01,980 they needed a programming language for the browser. 23 00:01:01,980 --> 00:01:04,969 So in 1995, the Netscape Navigator, 24 00:01:04,969 --> 00:01:08,370 which by the time was the dominant browser 25 00:01:08,370 --> 00:01:10,400 hired a guy named Brendan Eich 26 00:01:10,400 --> 00:01:13,500 to create the very first version of JavaScript 27 00:01:13,500 --> 00:01:16,322 in just 10 days, it was called "Mocha". 28 00:01:16,322 --> 00:01:18,386 So not JavaScript yet, 29 00:01:18,386 --> 00:01:21,640 but it already had many of the fundamental features 30 00:01:21,640 --> 00:01:23,890 that modern JavaScript has today. 31 00:01:23,890 --> 00:01:26,500 So that's very impressive that he basically created 32 00:01:26,500 --> 00:01:29,557 this first version in really just 10 days. 33 00:01:29,557 --> 00:01:33,900 Then in 1996, Mocha was renamed tool Livescript, 34 00:01:33,900 --> 00:01:35,210 which was then again, 35 00:01:35,210 --> 00:01:38,517 renamed to JavaScript for one simple reason, 36 00:01:38,517 --> 00:01:42,700 to attract developers from the hottest language at the time, 37 00:01:42,700 --> 00:01:44,710 which was Java. 38 00:01:44,710 --> 00:01:46,536 So the Java in JavaScript 39 00:01:46,536 --> 00:01:49,430 was really just for marketing reasons 40 00:01:49,430 --> 00:01:51,140 because the language itself 41 00:01:51,140 --> 00:01:54,108 has basically nothing to do with Java. 42 00:01:54,108 --> 00:01:57,350 Now, some beginners think that is the case, 43 00:01:57,350 --> 00:02:00,159 but actually no, JavaScript and Java 44 00:02:00,159 --> 00:02:03,422 are two completely different languages. 45 00:02:03,422 --> 00:02:07,990 Also in 1996, Microsoft launched the internet Explorer, 46 00:02:07,990 --> 00:02:11,780 which basically copied JavaScript from Netscape, 47 00:02:11,780 --> 00:02:15,950 but they call the JScript for legal reasons because, well, 48 00:02:15,950 --> 00:02:17,850 you actually cannot just go around 49 00:02:17,850 --> 00:02:20,860 and copy other people's programming languages. 50 00:02:20,860 --> 00:02:24,521 Now, what this means, is that we now had two very similar 51 00:02:24,521 --> 00:02:26,760 but competing languages, 52 00:02:26,760 --> 00:02:30,238 which of course is never a good idea in the long run. 53 00:02:30,238 --> 00:02:33,250 And so with the internet growing like crazy 54 00:02:33,250 --> 00:02:34,207 around this time, 55 00:02:34,207 --> 00:02:38,230 people realized they needed to standardize JavaScript. 56 00:02:38,230 --> 00:02:39,750 So the language was submitted 57 00:02:39,750 --> 00:02:43,310 to an independent standard organization called ECMA, 58 00:02:43,310 --> 00:02:48,310 which in 1997 released ECMAScript one or ES1. 59 00:02:48,368 --> 00:02:50,960 This was the very first official standards 60 00:02:50,960 --> 00:02:52,630 for the JavaScript language. 61 00:02:52,630 --> 00:02:55,330 And with this, every browser could now implement 62 00:02:55,330 --> 00:02:56,870 the same standard "JavaScript." 63 00:02:56,870 --> 00:03:00,322 And the real world we usually use the term ECMAScript 64 00:03:00,322 --> 00:03:03,882 to refer to the standard, while JavaScript is used 65 00:03:03,882 --> 00:03:06,820 when we talk about the language in practice, 66 00:03:06,820 --> 00:03:09,520 as it's implemented in browsers. 67 00:03:09,520 --> 00:03:11,964 Now fast forward to 2009, 68 00:03:11,964 --> 00:03:15,151 after a lot of complications and disagreements 69 00:03:15,151 --> 00:03:17,671 about where the language should be headed, 70 00:03:17,671 --> 00:03:21,774 ES5 was released with a lot of great new features. 71 00:03:21,774 --> 00:03:24,838 And then finally, another six years later, 72 00:03:24,838 --> 00:03:29,838 the much awaited new version ES6 was launched in June, 2015. 73 00:03:30,225 --> 00:03:34,487 And this was the single biggest update to the language ever. 74 00:03:34,487 --> 00:03:37,667 So it contained a ton of new exciting features, 75 00:03:37,667 --> 00:03:41,185 which we will explore throughout this entire course. 76 00:03:41,185 --> 00:03:44,460 This was, and still is a really big deal 77 00:03:44,460 --> 00:03:48,429 for JavaScript and for the whole web developer community. 78 00:03:48,429 --> 00:03:53,130 Now you will also see ES6 being called ES2015, 79 00:03:53,130 --> 00:03:55,270 which has actually the official name, 80 00:03:55,270 --> 00:03:57,770 but most people just call it ES6. 81 00:03:57,770 --> 00:04:00,770 And so that's what I'm gonna do here as well. 82 00:04:00,770 --> 00:04:02,620 And actually the reason for ES6 83 00:04:02,620 --> 00:04:06,797 being called ES2015 officially is that in 2015, 84 00:04:06,797 --> 00:04:10,780 ECMAScript changed to an annual release cycle. 85 00:04:10,780 --> 00:04:13,760 So right now there's gonna be a new release 86 00:04:13,760 --> 00:04:15,410 every single year. 87 00:04:15,410 --> 00:04:18,010 The reason for that is that they prefer to just 88 00:04:18,010 --> 00:04:20,835 add a small number of new features per year, 89 00:04:20,835 --> 00:04:23,440 instead of shipping a huge new version 90 00:04:23,440 --> 00:04:26,990 every couple of years, like it happened with ES6. 91 00:04:26,990 --> 00:04:29,710 And so this way, it's gonna be much easier 92 00:04:29,710 --> 00:04:31,699 for everyone to keep up to date. 93 00:04:31,699 --> 00:04:35,470 And so according to this new annual release cycle, 94 00:04:35,470 --> 00:04:40,470 in 2016 ES2016or ES7 was released ES2017 and 2017. 95 00:04:42,950 --> 00:04:46,452 And like this, it will continue until the end of time 96 00:04:46,452 --> 00:04:48,163 or something like that. 97 00:04:49,101 --> 00:04:52,860 Now there is one particularity about JavaScript releases, 98 00:04:52,860 --> 00:04:56,120 which is pretty unique for any programming language 99 00:04:56,120 --> 00:04:59,564 and that's backwards compatibility all the way to ES1. 100 00:04:59,564 --> 00:05:01,556 So what does that actually mean? 101 00:05:01,556 --> 00:05:05,120 Well, basically it means that if you were to take 102 00:05:05,120 --> 00:05:08,431 some JavaScript code written back in 1997 103 00:05:08,431 --> 00:05:10,950 and put it in a modern browser 104 00:05:10,950 --> 00:05:13,350 with a modern JavaScript engine today, 105 00:05:13,350 --> 00:05:16,110 it would still work just the same. 106 00:05:16,110 --> 00:05:19,581 So again, the JavaScript engine that's in our browser today 107 00:05:19,581 --> 00:05:23,596 is able to understand old code written 25 years ago, 108 00:05:23,596 --> 00:05:26,340 without having to rely on version numbers 109 00:05:26,340 --> 00:05:29,230 or anything like that. It just works. 110 00:05:29,230 --> 00:05:32,750 And it works this way because of the fundamental principle 111 00:05:32,750 --> 00:05:35,230 that's baked into the JavaScript language 112 00:05:35,230 --> 00:05:38,243 and its development, which is to not break the web. 113 00:05:38,243 --> 00:05:42,010 This means that there is almost never anything removed 114 00:05:42,010 --> 00:05:45,640 from the language, but only added in new versions. 115 00:05:45,640 --> 00:05:49,210 And actually we cannot really call them new versions even, 116 00:05:49,210 --> 00:05:51,960 because they do not contain breaking changes 117 00:05:51,960 --> 00:05:54,820 like when other languages moved to a new version. 118 00:05:54,820 --> 00:05:58,294 Instead new versions are always just incremental updates, 119 00:05:58,294 --> 00:06:00,200 which add new stuff. 120 00:06:00,200 --> 00:06:03,633 And so I like to call them releases and not versions. 121 00:06:03,633 --> 00:06:07,157 The ECMAScript committee who works on updating the language, 122 00:06:07,157 --> 00:06:08,600 does all this. 123 00:06:08,600 --> 00:06:12,051 So that old websites basically keep working forever. 124 00:06:12,051 --> 00:06:15,020 Just imagine they removed some important feature 125 00:06:15,020 --> 00:06:18,950 that made a website from 2008, work just fine. 126 00:06:18,950 --> 00:06:22,091 If you then want it to visit that page, it will be broken. 127 00:06:22,091 --> 00:06:24,406 And that's why we fortunately 128 00:06:24,406 --> 00:06:27,370 have to don't break the web principle. 129 00:06:27,370 --> 00:06:28,203 Now, of course, 130 00:06:28,203 --> 00:06:32,190 this comes with problems because there are tons of old bugs 131 00:06:32,190 --> 00:06:34,671 and weird things and the language. 132 00:06:34,671 --> 00:06:38,361 Remember that Brendan Eich made the very first version 133 00:06:38,361 --> 00:06:42,946 in just 10 days and no one back then could even imagine 134 00:06:42,946 --> 00:06:46,620 what JavaScript would be used for one day. 135 00:06:46,620 --> 00:06:49,270 The initial goal of JavaScript was just to add 136 00:06:49,270 --> 00:06:51,077 some simple dynamics to pages, 137 00:06:51,077 --> 00:06:53,420 not to write whole web applications 138 00:06:53,420 --> 00:06:55,970 in a browser like we do today. 139 00:06:55,970 --> 00:06:59,336 But anyway, these bugs and weird quirks in the language 140 00:06:59,336 --> 00:07:02,330 have been giving the language a bad reputation 141 00:07:02,330 --> 00:07:05,680 among many programmers who can really take JavaScript 142 00:07:05,680 --> 00:07:07,414 serious because of this. 143 00:07:07,414 --> 00:07:10,267 But here's the thing, we can actually go around 144 00:07:10,267 --> 00:07:13,160 many of this weird stuff by simply learning 145 00:07:13,160 --> 00:07:15,641 the modern JavaScript that matters today 146 00:07:15,641 --> 00:07:18,746 and just ignore most of the old weird stuff. 147 00:07:18,746 --> 00:07:23,370 And so that's exactly what we're gonna do in this course. 148 00:07:23,370 --> 00:07:26,685 So next time your friends start hating on JavaScript 149 00:07:26,685 --> 00:07:29,209 and believe me, this actually happens. 150 00:07:29,209 --> 00:07:32,560 Then just tell them about the amazing things 151 00:07:32,560 --> 00:07:35,140 that you can build with it. Okay. 152 00:07:35,140 --> 00:07:37,220 But now, there is one more thing 153 00:07:37,220 --> 00:07:39,000 that we need to talk about here, 154 00:07:39,000 --> 00:07:41,056 and that is forwards compatibility. 155 00:07:41,056 --> 00:07:43,550 So what do you think would happen 156 00:07:43,550 --> 00:07:46,135 if we took this totally made up code 157 00:07:46,135 --> 00:07:51,061 from the year 2089 and try to run it in today's browsers? 158 00:07:51,061 --> 00:07:53,291 Well, you're probably right. 159 00:07:53,291 --> 00:07:55,401 It would not work at all. 160 00:07:55,401 --> 00:07:57,811 There would be errors left and right. 161 00:07:57,811 --> 00:08:00,090 And nothing would work. 162 00:08:00,090 --> 00:08:01,790 That's why we say that JavaScript 163 00:08:01,790 --> 00:08:03,960 is not forwards compatible, 164 00:08:03,960 --> 00:08:05,707 basically because current browsers 165 00:08:05,707 --> 00:08:08,434 do not understand code from the future. 166 00:08:08,434 --> 00:08:11,990 And this actually brings us to our next topic, 167 00:08:11,990 --> 00:08:15,660 which is how can we use modern JavaScript today? 168 00:08:15,660 --> 00:08:19,340 Because browsers that users are using might be old 169 00:08:19,340 --> 00:08:22,308 and there's no forwards compatibility. Right? 170 00:08:22,308 --> 00:08:24,160 So to answer the question, 171 00:08:24,160 --> 00:08:26,740 how we can use modern JavaScript today, 172 00:08:26,740 --> 00:08:29,137 we need to consider two distinct scenarios, 173 00:08:29,137 --> 00:08:31,448 development and production. 174 00:08:31,448 --> 00:08:34,930 So the development phase is simply when you're building 175 00:08:34,930 --> 00:08:37,386 the site or application on your computer. 176 00:08:37,386 --> 00:08:40,520 To ensure you can use the latest JavaScript features 177 00:08:40,520 --> 00:08:42,296 in this face. All you have to do 178 00:08:42,296 --> 00:08:45,010 is to use the most Up ToDate version 179 00:08:45,010 --> 00:08:47,090 of the Google Chrome browser. 180 00:08:47,090 --> 00:08:48,032 This will then ensure 181 00:08:48,032 --> 00:08:50,350 that all the features I show you in his course 182 00:08:50,350 --> 00:08:52,410 will work for you as well. 183 00:08:52,410 --> 00:08:55,110 The second scenario is production, 184 00:08:55,110 --> 00:08:57,467 which is when your web application is finished. 185 00:08:57,467 --> 00:08:59,244 You deploy it on the internet 186 00:08:59,244 --> 00:09:02,643 and it's then running in your users' browsers. 187 00:09:02,643 --> 00:09:05,540 And this is where problems might appear, 188 00:09:05,540 --> 00:09:08,648 because this is the part that we actually can't control. 189 00:09:08,648 --> 00:09:12,200 We cannot control which browser the user uses. 190 00:09:12,200 --> 00:09:14,880 And we also can't assume that all our users 191 00:09:14,880 --> 00:09:18,080 always use the latest browsers, right. 192 00:09:18,080 --> 00:09:19,800 Now, the solution to this problem 193 00:09:19,800 --> 00:09:23,001 is to basically convert these modern JavaScript versions 194 00:09:23,001 --> 00:09:26,858 back to ES5 using a process called transpiling 195 00:09:26,858 --> 00:09:29,130 and also polyfilling. 196 00:09:29,130 --> 00:09:32,500 We will use a tool called Babel later in the course 197 00:09:32,500 --> 00:09:33,890 to transpile or code. 198 00:09:33,890 --> 00:09:37,500 But for now, during the course, we won't need that. 199 00:09:37,500 --> 00:09:41,020 Again, because you're using the most Up ToDate browser 200 00:09:41,020 --> 00:09:44,270 during development, transpiling back to ES5 201 00:09:44,270 --> 00:09:47,940 is only necessary after your app is developed 202 00:09:47,940 --> 00:09:50,345 and you want to ship it to your users. 203 00:09:50,345 --> 00:09:53,111 All right. So now let's take a look 204 00:09:53,111 --> 00:09:57,369 at how different JavaScript releases can be used today. 205 00:09:57,369 --> 00:10:01,423 So first off ES5 is of course fully supported 206 00:10:01,423 --> 00:10:04,120 in all browsers today, all the way down 207 00:10:04,120 --> 00:10:06,934 to internet Explorer nine from 2011. 208 00:10:06,934 --> 00:10:11,199 So we can assume that ES5 is safe to be used at this point, 209 00:10:11,199 --> 00:10:12,870 which is the reason why 210 00:10:12,870 --> 00:10:15,324 we use it as a target for transpiling. 211 00:10:15,324 --> 00:10:17,189 Now about the newer releases, 212 00:10:17,189 --> 00:10:22,189 ES6, ES7 and all the way to ES2020, as of mid-2020, 213 00:10:23,816 --> 00:10:26,690 they are actually quite well supported already 214 00:10:26,690 --> 00:10:28,063 in all modern browsers. 215 00:10:28,063 --> 00:10:30,955 And we usually call all the current versions together, 216 00:10:30,955 --> 00:10:35,955 ES6 plus. So right now that's from ES6 to ES2020, 217 00:10:36,510 --> 00:10:40,271 and basically all together, they are the modern JavaScript. 218 00:10:40,271 --> 00:10:42,423 Now it's in this modern JavaScript. 219 00:10:42,423 --> 00:10:46,517 So in this ES6 plus where transpiling comes in, 220 00:10:46,517 --> 00:10:48,570 as I mentioned earlier. 221 00:10:48,570 --> 00:10:50,980 Again, because it's not safe to assume 222 00:10:50,980 --> 00:10:54,039 that all our users are using these modern browsers 223 00:10:54,039 --> 00:10:57,650 and we don't want to break or app for them, right? 224 00:10:57,650 --> 00:10:59,470 And by the way, 225 00:10:59,470 --> 00:11:02,130 if you want to stay up to date with what features 226 00:11:02,130 --> 00:11:04,310 are currently supported in which browser 227 00:11:04,310 --> 00:11:07,740 you can check out the ES6 compatibility table. 228 00:11:07,740 --> 00:11:08,835 It's really interesting. 229 00:11:08,835 --> 00:11:13,835 The link is actually on my resources page on jonas.io. 230 00:11:14,464 --> 00:11:17,412 Next, there are also the future releases 231 00:11:17,412 --> 00:11:22,412 of the language like ES2021, ES2022 and so on. 232 00:11:24,000 --> 00:11:25,880 And these future releases together 233 00:11:25,880 --> 00:11:28,639 are many times called ESNext. 234 00:11:28,639 --> 00:11:30,541 Now, why is this even relevant? 235 00:11:30,541 --> 00:11:34,570 Well, because most browsers actually start implementing 236 00:11:34,570 --> 00:11:37,170 new features even before they enter 237 00:11:37,170 --> 00:11:39,840 the official ECMAScript specification. 238 00:11:39,840 --> 00:11:42,729 That's possible because as new features are proposed, 239 00:11:42,729 --> 00:11:45,570 they have to go through four stages, 240 00:11:45,570 --> 00:11:47,660 starting with stage one, 241 00:11:47,660 --> 00:11:51,230 where they are first admitted all the way to stage four, 242 00:11:51,230 --> 00:11:54,220 at which point they enter the language officially. 243 00:11:54,220 --> 00:11:56,305 But when a feature is at stage three, 244 00:11:56,305 --> 00:11:58,160 browsers can be pretty sure 245 00:11:58,160 --> 00:12:00,720 it will eventually pass to stage four. 246 00:12:00,720 --> 00:12:03,150 And so they're gonna start implementing that feature 247 00:12:03,150 --> 00:12:04,873 while still in stage three. 248 00:12:04,873 --> 00:12:07,604 And there is a lot more to be said about this. 249 00:12:07,604 --> 00:12:10,288 And actually I find this really fascinating, 250 00:12:10,288 --> 00:12:12,283 but I'm gonna stop here. 251 00:12:12,283 --> 00:12:14,896 You can find tons of information about us online. 252 00:12:14,896 --> 00:12:16,580 If you want to learn more. 253 00:12:16,580 --> 00:12:19,487 And a great place to start is actually once more, 254 00:12:19,487 --> 00:12:23,386 this compatibility table, that's up here on the slide. 255 00:12:23,386 --> 00:12:27,158 But anyway, as these new features start coming out, 256 00:12:27,158 --> 00:12:30,805 I will simply add new videos about them to the course 257 00:12:30,805 --> 00:12:34,784 in order to keep it updated with the annual release cycle. 258 00:12:34,784 --> 00:12:36,525 This is now way easier to do, 259 00:12:36,525 --> 00:12:39,300 because there will be no drastic changes 260 00:12:39,300 --> 00:12:42,300 to the language like ES6 was. 261 00:12:42,300 --> 00:12:44,070 Okay. And now to finish, 262 00:12:44,070 --> 00:12:47,959 let's quickly talk about how versions or releases 263 00:12:47,959 --> 00:12:50,116 are taught in this course. 264 00:12:50,116 --> 00:12:51,688 So, as I said earlier, 265 00:12:51,688 --> 00:12:53,900 I will teach you a modern JavaScript, 266 00:12:53,900 --> 00:12:56,066 right from the beginning of the course. 267 00:12:56,066 --> 00:12:59,740 Now I used to teach this course starting with ES5 268 00:12:59,740 --> 00:13:02,770 and then moving to ES6 in the middle of the course. 269 00:13:02,770 --> 00:13:04,510 But now after a couple of years, 270 00:13:04,510 --> 00:13:07,618 it was time to fully move to modern JavaScript. 271 00:13:07,618 --> 00:13:09,975 However, it's also super important 272 00:13:09,975 --> 00:13:12,660 to learn how some things used to be done 273 00:13:12,660 --> 00:13:16,175 before we had this fancy modern JavaScript. 274 00:13:16,175 --> 00:13:18,280 For example, in this section, 275 00:13:18,280 --> 00:13:21,380 I already showed you the modern const and let 276 00:13:21,380 --> 00:13:23,150 for variable declarations, 277 00:13:23,150 --> 00:13:25,588 but also how we used to use Vue before. 278 00:13:25,588 --> 00:13:28,369 And there will be many more examples like this, 279 00:13:28,369 --> 00:13:32,478 but why butter with ES5 at all? You might ask? 280 00:13:32,478 --> 00:13:34,950 Well, here is why, 281 00:13:34,950 --> 00:13:37,820 first, you will better understand how some features 282 00:13:37,820 --> 00:13:40,910 in JavaScript actually work behind the scenes. 283 00:13:40,910 --> 00:13:42,671 For example, ES6 classes, 284 00:13:42,671 --> 00:13:44,897 which had all the implementation details 285 00:13:44,897 --> 00:13:48,380 of object oriented programming in JavaScript. 286 00:13:48,380 --> 00:13:51,040 Also many tutorials and example code 287 00:13:51,040 --> 00:13:54,669 that you will find online are still written in ES5 today. 288 00:13:54,669 --> 00:13:57,474 Plus, as a developer, in many jobs, 289 00:13:57,474 --> 00:14:01,020 you will actually have to work on older code bases. 290 00:14:01,020 --> 00:14:03,900 And it's totally possible that that code base 291 00:14:03,900 --> 00:14:06,849 might still contain a lot of ES5 code. 292 00:14:06,849 --> 00:14:09,340 Okay. So hope that made sense. 293 00:14:09,340 --> 00:14:13,258 And that's it for this lecture and for the section. 294 00:14:13,258 --> 00:14:15,963 So see you in the next one. 23727

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.