All language subtitles for 7. Reviewing Functions

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
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
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 1 00:00:01,170 --> 00:00:03,860 To finish this part about functions, 2 2 00:00:03,860 --> 00:00:07,660 let's review everything important that we learned so far. 3 3 00:00:07,660 --> 00:00:11,370 In order to make sure that you really understand functions 4 4 00:00:11,370 --> 00:00:13,983 before we move on to other topics. 5 5 00:00:15,440 --> 00:00:19,340 And let's start by bringing back and rewriting the function 6 6 00:00:19,340 --> 00:00:20,950 that we wrote before, 7 7 00:00:20,950 --> 00:00:24,053 which is the years until retirement function. 8 8 00:00:25,520 --> 00:00:27,610 So I think that was, 9 9 00:00:27,610 --> 00:00:31,380 yeah it was here in the lecture about arrow functions. 10 10 00:00:31,380 --> 00:00:35,243 So let's copy this one and paste it here. 11 11 00:00:37,320 --> 00:00:38,910 And the first thing that we're gonna do 12 12 00:00:38,910 --> 00:00:40,150 is to actually convert it 13 13 00:00:40,150 --> 00:00:43,380 to a more normal function expression. 14 14 00:00:43,380 --> 00:00:45,230 So how do we do that? 15 15 00:00:45,230 --> 00:00:46,520 Well, in this case, 16 16 00:00:46,520 --> 00:00:48,810 we simply get rid of the arrow here 17 17 00:00:50,030 --> 00:00:55,020 and then write the function keyword here. 18 18 00:00:55,020 --> 00:00:58,540 And so now this is just a regular function expression 19 19 00:00:58,540 --> 00:01:00,720 like we learned before. 20 20 00:01:00,720 --> 00:01:04,160 Next up we could export this functionality here 21 21 00:01:04,160 --> 00:01:05,940 into another function. 22 22 00:01:05,940 --> 00:01:10,100 So like a calcAge function that we've been using before. 23 23 00:01:10,100 --> 00:01:11,330 So let's do that 24 24 00:01:11,330 --> 00:01:14,600 because then we can do what we did in the last lecture, 25 25 00:01:14,600 --> 00:01:18,283 which was to call one function inside of the other function. 26 26 00:01:19,380 --> 00:01:22,245 So let's write another function expression here, 27 27 00:01:22,245 --> 00:01:25,780 calcAge equals 28 28 00:01:27,380 --> 00:01:30,813 a function and then the birth year again. 29 29 00:01:33,530 --> 00:01:38,310 And what we return from this one is simply 2037 30 30 00:01:39,840 --> 00:01:42,110 minus the birth year. 31 31 00:01:42,110 --> 00:01:45,290 So we already did that before. Right. 32 32 00:01:45,290 --> 00:01:47,370 Now you might find it confusing 33 33 00:01:47,370 --> 00:01:49,780 that we have two different functions here 34 34 00:01:49,780 --> 00:01:51,910 with the same parameter names. 35 35 00:01:51,910 --> 00:01:55,390 So this one has birth year and this one has too, 36 36 00:01:55,390 --> 00:01:57,430 but that's not a problem at all. 37 37 00:01:57,430 --> 00:02:02,060 So this birth year in this function is not at all related 38 38 00:02:02,060 --> 00:02:04,400 to this birth year in this function. 39 39 00:02:04,400 --> 00:02:06,770 They are two completely different parameters. 40 40 00:02:06,770 --> 00:02:09,520 So basically two different variables. 41 41 00:02:09,520 --> 00:02:11,870 We could even have a variable outside 42 42 00:02:11,870 --> 00:02:13,510 of any of the functions, 43 43 00:02:13,510 --> 00:02:16,240 which could also be called birth year. 44 44 00:02:16,240 --> 00:02:17,200 Okay. 45 45 00:02:17,200 --> 00:02:18,360 And we could do that now, 46 46 00:02:18,360 --> 00:02:22,130 but I don't want to confuse you even further. Okay. 47 47 00:02:22,130 --> 00:02:25,900 But what matters here is that this parameter is really 48 48 00:02:25,900 --> 00:02:29,390 like a local variable to each function. 49 49 00:02:29,390 --> 00:02:30,223 Anyway, 50 50 00:02:30,223 --> 00:02:34,320 let's now go ahead and delete this here and instead, 51 51 00:02:34,320 --> 00:02:37,683 calculate the age based on the function that we just wrote. 52 52 00:02:38,680 --> 00:02:41,430 And actually we just delete this part here. 53 53 00:02:41,430 --> 00:02:46,150 And so now the age will come from the function calcAge. 54 54 00:02:46,150 --> 00:02:50,850 And what we pass in here is the birth year. 55 55 00:02:50,850 --> 00:02:53,420 So again, it's confusing now with these 56 56 00:02:53,420 --> 00:02:55,710 same parameter names here, 57 57 00:02:55,710 --> 00:02:58,860 but let's quickly call this function 58 58 00:02:58,860 --> 00:03:02,610 just so I can quickly show you the data flow. 59 59 00:03:02,610 --> 00:03:07,250 So years until retirement with birth year 1991 60 60 00:03:07,250 --> 00:03:11,580 and first name of Jonas. 61 61 00:03:11,580 --> 00:03:16,150 So 1991 will be the birth year here in this function. 62 62 00:03:16,150 --> 00:03:17,800 Then as a first step, 63 63 00:03:17,800 --> 00:03:21,950 this years until retirement function called calcAge 64 64 00:03:21,950 --> 00:03:26,000 and it calls calcAge with the argument of 1991. 65 65 00:03:26,000 --> 00:03:27,120 So this one here, 66 66 00:03:27,120 --> 00:03:32,120 and so then birth year in this function also becomes 1991. 67 67 00:03:32,360 --> 00:03:37,360 And so then here, the operation will be 2037 minus 1991. 68 68 00:03:37,550 --> 00:03:39,140 And if you find it less confusing, 69 69 00:03:39,140 --> 00:03:42,080 we could change this year to something else. 70 70 00:03:42,080 --> 00:03:46,080 Let's just say year and it would work the exact same way. 71 71 00:03:46,080 --> 00:03:47,630 Okay. So again, 72 72 00:03:47,630 --> 00:03:52,160 these variable names in these two different functions, 73 73 00:03:52,160 --> 00:03:55,750 they do not have anything to do with one another. 74 74 00:03:55,750 --> 00:03:56,583 All right. 75 75 00:03:56,583 --> 00:03:58,630 But let's actually put it back here 76 76 00:03:58,630 --> 00:04:02,235 because it's a, it's good to keep this in mind. 77 77 00:04:02,235 --> 00:04:03,068 Then down here, 78 78 00:04:03,068 --> 00:04:06,040 let's actually go back to returning a number 79 79 00:04:06,040 --> 00:04:10,763 and not the string, which for now I will just comment out. 80 80 00:04:12,390 --> 00:04:15,030 So here we call this function and once more, 81 81 00:04:15,030 --> 00:04:17,513 I'm not gonna store it into a variable. 82 82 00:04:18,560 --> 00:04:22,453 So we will just log the result of this, to the console. 83 83 00:04:24,170 --> 00:04:27,410 So this should be just like before, 19. 84 84 00:04:27,410 --> 00:04:28,350 Okay. 85 85 00:04:28,350 --> 00:04:30,330 But now I want to show you something 86 86 00:04:30,330 --> 00:04:32,930 which is to call this function again, 87 87 00:04:32,930 --> 00:04:36,100 let's say now with a Mike 88 88 00:04:36,100 --> 00:04:39,073 and let's say Mike was born in 1970. 89 89 00:04:41,210 --> 00:04:42,233 And so, 90 90 00:04:43,400 --> 00:04:47,120 his years until retirement will be two. 91 91 00:04:47,120 --> 00:04:51,260 So a negative number, which means that he already retired. 92 92 00:04:51,260 --> 00:04:53,930 So let's quickly account for that. 93 93 00:04:53,930 --> 00:04:57,710 So what we will do is to basically return this number, 94 94 00:04:57,710 --> 00:04:59,740 if it is above zero, 95 95 00:04:59,740 --> 00:05:01,760 and if it is below zero, 96 96 00:05:01,760 --> 00:05:05,510 we are gonna return something else like a minus one 97 97 00:05:05,510 --> 00:05:08,113 or something or some special number. 98 98 00:05:09,460 --> 00:05:12,450 So instead of returning simply the retirement, 99 99 00:05:12,450 --> 00:05:16,580 let's take a decision here based on the retirement value. 100 100 00:05:16,580 --> 00:05:19,870 And so that's something that we learned in the last lecture. 101 101 00:05:19,870 --> 00:05:23,920 So let's use an if else statement and say, 102 102 00:05:23,920 --> 00:05:27,500 if the retirement is 103 103 00:05:27,500 --> 00:05:29,400 greater than zero. 104 104 00:05:29,400 --> 00:05:33,010 So if there are more than zero years left until retirement 105 105 00:05:33,010 --> 00:05:36,203 then return this retirement value. 106 106 00:05:37,480 --> 00:05:38,550 Okay. 107 107 00:05:38,550 --> 00:05:40,453 So remember that in the, if block, 108 108 00:05:41,460 --> 00:05:43,550 we can put any code that we want. 109 109 00:05:43,550 --> 00:05:46,393 And so that includes the return statement. 110 110 00:05:47,410 --> 00:05:52,410 And else, well, let's just return always minus one. 111 111 00:05:53,520 --> 00:05:57,410 So, minus one is kind of a standard number in programming. 112 112 00:05:57,410 --> 00:05:59,603 We could also like return, 113 113 00:06:00,540 --> 00:06:01,373 like this. 114 114 00:06:01,373 --> 00:06:05,203 So a number that shows us clearly that this has no meaning. 115 115 00:06:06,120 --> 00:06:09,470 Let's just keep it at number one, minus number one. 116 116 00:06:09,470 --> 00:06:10,530 Okay. 117 117 00:06:10,530 --> 00:06:12,310 And I'm returning actually numbers here 118 118 00:06:12,310 --> 00:06:15,280 and not a string as we had before, 119 119 00:06:15,280 --> 00:06:17,340 because that's usually what we do, 120 120 00:06:17,340 --> 00:06:21,440 especially when we actually receive a number as an input. 121 121 00:06:21,440 --> 00:06:24,290 So here in this function, we get birth year 122 122 00:06:25,470 --> 00:06:28,140 here as an input, and it's a number 123 123 00:06:28,140 --> 00:06:30,070 and therefore it's a good practice to 124 124 00:06:30,070 --> 00:06:32,183 then also return a number. 125 125 00:06:34,100 --> 00:06:36,140 Okay, let's try this again. 126 126 00:06:36,140 --> 00:06:39,740 Now, we'll even change it to something more drastic. 127 127 00:06:39,740 --> 00:06:44,363 So 1950 and let's see what we get now. 128 128 00:06:46,070 --> 00:06:46,910 Now, 129 129 00:06:46,910 --> 00:06:49,280 so it's minus one now. 130 130 00:06:49,280 --> 00:06:50,180 Great. 131 131 00:06:50,180 --> 00:06:53,130 Now, one thing that I didn't mention yet is 132 132 00:06:53,130 --> 00:06:55,450 that this return keyword here 133 133 00:06:55,450 --> 00:06:58,600 will actually immediately exit the function. 134 134 00:06:58,600 --> 00:07:02,870 So it will first return the value that we tell it to return. 135 135 00:07:02,870 --> 00:07:05,370 So in this case, the retirement value, 136 136 00:07:05,370 --> 00:07:08,630 and then after that, the function is done. 137 137 00:07:08,630 --> 00:07:10,390 So it exits immediately. 138 138 00:07:10,390 --> 00:07:13,700 And we also say that the function has returned. 139 139 00:07:13,700 --> 00:07:16,340 So let me actually demonstrate that to you. 140 140 00:07:16,340 --> 00:07:19,363 And what I will do is to take this string here. 141 141 00:07:20,340 --> 00:07:23,020 Now we can get rid of the rest 142 142 00:07:23,020 --> 00:07:25,173 and I will put that after the return. 143 143 00:07:26,210 --> 00:07:27,913 So we will log to the console, 144 144 00:07:29,720 --> 00:07:32,233 this string here that we just had. 145 145 00:07:35,020 --> 00:07:39,910 And then here let's log simply 146 146 00:07:41,820 --> 00:07:45,600 the first name has already retired, 147 147 00:07:47,410 --> 00:07:51,310 and then we can put another emoji here, 148 148 00:07:51,310 --> 00:07:53,883 like this party emoji that I like. 149 149 00:07:55,330 --> 00:07:56,523 And, 150 150 00:07:58,640 --> 00:07:59,473 yeah. 151 151 00:07:59,473 --> 00:08:02,480 What do you think will happen when we run this code now 152 152 00:08:02,480 --> 00:08:04,560 and keep in mind that we have the return 153 153 00:08:04,560 --> 00:08:07,990 before the console dot log, in both cases. 154 154 00:08:07,990 --> 00:08:12,610 So in the, if block here and also in the else block. 155 155 00:08:12,610 --> 00:08:14,990 So what do you think is gonna happen with these 156 156 00:08:14,990 --> 00:08:15,913 console dot logs? 157 157 00:08:16,850 --> 00:08:18,990 Well, let's see. 158 158 00:08:18,990 --> 00:08:21,420 And indeed they are simply ignored, 159 159 00:08:21,420 --> 00:08:23,480 so they will not get executed. 160 160 00:08:23,480 --> 00:08:25,930 Because as I said before, 161 161 00:08:25,930 --> 00:08:28,610 the return statement immediately exits 162 162 00:08:28,610 --> 00:08:31,660 or immediately returns the function. 163 163 00:08:31,660 --> 00:08:33,880 And so therefore there is no chance 164 164 00:08:33,880 --> 00:08:36,860 that this code here is even reached. 165 165 00:08:36,860 --> 00:08:39,320 So if we want this one here to execute, 166 166 00:08:39,320 --> 00:08:41,660 we need to put it before the return 167 167 00:08:41,660 --> 00:08:46,043 and in vs code, I can simply hit option or alt up. 168 168 00:08:47,190 --> 00:08:50,000 Okay. And that will then move the line up. 169 169 00:08:50,000 --> 00:08:50,900 So we can, 170 170 00:08:50,900 --> 00:08:55,900 we also have that here somewhere in this menu. 171 171 00:08:56,600 --> 00:08:59,460 So that's move line up and move line down. 172 172 00:08:59,460 --> 00:09:03,060 So just so you see which one is the shortcut. 173 173 00:09:03,060 --> 00:09:04,750 So I use that one all the time. 174 174 00:09:04,750 --> 00:09:08,570 I also use add cursor below all the time, 175 175 00:09:08,570 --> 00:09:11,460 and I also use add next occurrence. 176 176 00:09:11,460 --> 00:09:14,230 So that would be command or control D. 177 177 00:09:14,230 --> 00:09:17,320 So what this means is that we have, if we have 178 178 00:09:18,430 --> 00:09:20,300 this for example, here select it 179 179 00:09:20,300 --> 00:09:22,900 then we can already see all the other ones. 180 180 00:09:22,900 --> 00:09:27,110 But if we hit command D then it will actually select that. 181 181 00:09:27,110 --> 00:09:29,330 So you see. Now we have these four selected. 182 182 00:09:29,330 --> 00:09:32,560 And so we now could replace all of them at the same time, 183 183 00:09:32,560 --> 00:09:35,310 for example, like this. Okay. 184 184 00:09:35,310 --> 00:09:38,520 But anyway, let's go back to what we were doing here. 185 185 00:09:38,520 --> 00:09:43,220 So I just moved the console dot log before the return here. 186 186 00:09:43,220 --> 00:09:46,770 And so now there should be a chance that the console dot log 187 187 00:09:46,770 --> 00:09:50,630 is actually executed before the value is returned. 188 188 00:09:50,630 --> 00:09:52,050 And so let's do the same here. 189 189 00:09:52,050 --> 00:09:55,451 So again, I'm hitting option or alt up. 190 190 00:09:55,451 --> 00:09:58,400 Add to these two lines to changed position, 191 191 00:09:58,400 --> 00:10:02,040 and now, yeah, now it works. 192 192 00:10:02,040 --> 00:10:03,910 So we get the string and here we get, 193 193 00:10:03,910 --> 00:10:05,833 Mike has already retired. 194 194 00:10:06,940 --> 00:10:07,773 Okay. 195 195 00:10:07,773 --> 00:10:10,513 So this was to show you some more things about functions 196 196 00:10:10,513 --> 00:10:12,560 that we had already learned, 197 197 00:10:12,560 --> 00:10:14,970 and also show you something new, 198 198 00:10:14,970 --> 00:10:18,110 which is the fact that the return statement here 199 199 00:10:18,110 --> 00:10:20,810 immediately exits the function. 200 200 00:10:20,810 --> 00:10:23,240 So we reviewed already some things here, 201 201 00:10:23,240 --> 00:10:25,660 but now it's time to really review everything 202 202 00:10:25,660 --> 00:10:27,760 that we learned so far about functions 203 203 00:10:27,760 --> 00:10:29,513 in these first couple of lectures. 204 204 00:10:30,750 --> 00:10:32,623 And here we have the three type of functions 205 205 00:10:32,623 --> 00:10:34,460 that we talked about. 206 206 00:10:34,460 --> 00:10:37,490 So we have first, the function declaration, 207 207 00:10:37,490 --> 00:10:40,620 and one particularity about function declarations 208 208 00:10:40,620 --> 00:10:42,500 is that they can be used before 209 209 00:10:42,500 --> 00:10:44,850 they are declared in the code. 210 210 00:10:44,850 --> 00:10:48,050 Second, we have the function expressions, 211 211 00:10:48,050 --> 00:10:50,360 and they are essentially function values 212 212 00:10:50,360 --> 00:10:52,890 that are stored in a variable. 213 213 00:10:52,890 --> 00:10:55,430 And finally, we have arrow functions 214 214 00:10:55,430 --> 00:10:58,810 that are in fact also function expressions, 215 215 00:10:58,810 --> 00:11:00,490 but special ones. 216 216 00:11:00,490 --> 00:11:03,540 And these are great for quick one line functions 217 217 00:11:03,540 --> 00:11:06,960 where we don't need to explicitly use the return keyword 218 218 00:11:06,960 --> 00:11:09,290 and no curly braces either. 219 219 00:11:09,290 --> 00:11:12,280 I also said that this one has no this keyword, 220 220 00:11:12,280 --> 00:11:16,030 but more about that in one of the future lectures. 221 221 00:11:16,030 --> 00:11:18,160 Now what's important to note here is that 222 222 00:11:18,160 --> 00:11:21,710 these are three different ways of writing functions, 223 223 00:11:21,710 --> 00:11:24,390 but they all work in a similar way. 224 224 00:11:24,390 --> 00:11:28,760 So all of them can receive input data, they transform data, 225 225 00:11:28,760 --> 00:11:31,110 and then they can output data. 226 226 00:11:31,110 --> 00:11:32,250 It's all optional, 227 227 00:11:32,250 --> 00:11:35,440 but usually that's the things that functions do. 228 228 00:11:35,440 --> 00:11:37,960 And no matter which type of function we use, 229 229 00:11:37,960 --> 00:11:40,413 we can always do these three things. 230 230 00:11:41,350 --> 00:11:43,750 And now let's zoom in a little bit further 231 231 00:11:43,750 --> 00:11:47,430 and take a close look at the structure of a 232 232 00:11:47,430 --> 00:11:49,780 common function let's say. 233 233 00:11:49,780 --> 00:11:52,070 And this one here is a function statement, 234 234 00:11:52,070 --> 00:11:53,950 but it works the exact same way 235 235 00:11:53,950 --> 00:11:57,050 for all other types of functions again. 236 236 00:11:57,050 --> 00:12:00,960 So first, usually a function needs a function name. 237 237 00:12:00,960 --> 00:12:03,510 So calcAge in this example, 238 238 00:12:03,510 --> 00:12:06,300 then a function also has parameters. 239 239 00:12:06,300 --> 00:12:09,380 And these parameters are essentially placeholders, 240 240 00:12:09,380 --> 00:12:11,520 that receive input values. 241 241 00:12:11,520 --> 00:12:12,970 So, as I said before, 242 242 00:12:12,970 --> 00:12:16,740 these are a little bit like local variables of a function. 243 243 00:12:16,740 --> 00:12:18,710 So variables that are defined 244 244 00:12:18,710 --> 00:12:21,950 only inside of this very function. 245 245 00:12:21,950 --> 00:12:23,950 Now, as you also already know, 246 246 00:12:23,950 --> 00:12:27,370 we use functions to reuse pieces of code, 247 247 00:12:27,370 --> 00:12:31,460 and these pieces of code are inside the function body. 248 248 00:12:31,460 --> 00:12:34,310 So this is where the functions input data 249 249 00:12:34,310 --> 00:12:38,200 is usually processed and then returned. 250 250 00:12:38,200 --> 00:12:40,860 And speaking of the return, by the end of the function, 251 251 00:12:40,860 --> 00:12:43,300 we usually have a return statement, 252 252 00:12:43,300 --> 00:12:46,860 which we use to output a value from the function. 253 253 00:12:46,860 --> 00:12:49,940 And also, as I mentioned a little bit earlier, 254 254 00:12:49,940 --> 00:12:52,900 the return statement also immediately terminates 255 255 00:12:52,900 --> 00:12:55,190 the function's execution. 256 256 00:12:55,190 --> 00:12:58,560 We also say that the function returns, okay. 257 257 00:12:58,560 --> 00:13:01,010 And now about calling the function, 258 258 00:13:01,010 --> 00:13:03,110 we do that using parenthesis. 259 259 00:13:03,110 --> 00:13:04,780 So we write the name of the function 260 260 00:13:04,780 --> 00:13:06,920 like we did here with calcAge 261 261 00:13:06,920 --> 00:13:10,560 and then with a parenthesis we call the function. 262 262 00:13:10,560 --> 00:13:12,300 Because without the parenthesis, 263 263 00:13:12,300 --> 00:13:14,530 the function is really just a value. 264 264 00:13:14,530 --> 00:13:16,470 But then with the parenthesis, 265 265 00:13:16,470 --> 00:13:18,310 we actually called a function. 266 266 00:13:18,310 --> 00:13:20,550 And we can also say that we run the function 267 267 00:13:20,550 --> 00:13:24,090 or invoked a function or execute a function. 268 268 00:13:24,090 --> 00:13:28,350 And all of these terms kind of mean the same thing. 269 269 00:13:28,350 --> 00:13:29,360 Now, in this case, 270 270 00:13:29,360 --> 00:13:32,120 since the function actually has parameters, 271 271 00:13:32,120 --> 00:13:36,600 we then call the function with arguments and these arguments 272 272 00:13:36,600 --> 00:13:40,370 are the actual values of the function parameters. 273 273 00:13:40,370 --> 00:13:44,690 So we use these to input the actual data into the function. 274 274 00:13:44,690 --> 00:13:48,400 And we can also imagine this as replacing the placeholders 275 275 00:13:48,400 --> 00:13:50,970 that are the parameters. 276 276 00:13:50,970 --> 00:13:54,750 Then once the calcAge function has finally done its job, 277 277 00:13:54,750 --> 00:13:58,170 then all this expression will basically be replaced 278 278 00:13:58,170 --> 00:14:00,140 with the returned value. 279 279 00:14:00,140 --> 00:14:03,620 So in this case, the age that was replaced here. 280 280 00:14:03,620 --> 00:14:06,340 And that age value is what we then store 281 281 00:14:06,340 --> 00:14:09,010 into this age variable. 282 282 00:14:09,010 --> 00:14:12,870 So we use this variable to basically save the returned value 283 283 00:14:12,870 --> 00:14:15,700 that was outputed from the function. 284 284 00:14:15,700 --> 00:14:16,780 Okay. 285 285 00:14:16,780 --> 00:14:19,940 Now just one other thing that I want to make clear is 286 286 00:14:19,940 --> 00:14:23,030 that this console dot log that we have in the function. 287 287 00:14:23,030 --> 00:14:25,220 So in that first line there, 288 288 00:14:25,220 --> 00:14:28,520 has nothing to do with returning a value. 289 289 00:14:28,520 --> 00:14:31,550 This simply prints a message to the developer console, 290 290 00:14:31,550 --> 00:14:34,280 but it has nothing to do with returning. 291 291 00:14:34,280 --> 00:14:37,130 Actually the console dot log is actually just 292 292 00:14:37,130 --> 00:14:40,860 another function call inside the calcAge function 293 293 00:14:40,860 --> 00:14:44,680 because console dot log is itself a function. 294 294 00:14:44,680 --> 00:14:47,080 And so the argument that we pass into 295 295 00:14:47,080 --> 00:14:48,940 the console dot log function 296 296 00:14:48,940 --> 00:14:52,240 is what will get printed to the developer console. 297 297 00:14:52,240 --> 00:14:55,080 Okay. So just wanted to make sure 298 298 00:14:55,080 --> 00:14:57,020 that you really get this distinction 299 299 00:14:57,020 --> 00:14:59,870 between console dot log and return. 300 300 00:14:59,870 --> 00:15:02,360 The reason why we always use console dot log 301 301 00:15:02,360 --> 00:15:05,960 is because we want to see the results of our experiments 302 302 00:15:05,960 --> 00:15:08,433 in the developer console, in the browser. 303 303 00:15:09,330 --> 00:15:10,163 Anyway, 304 304 00:15:10,163 --> 00:15:13,770 I think this pretty much sums up all there is to know, 305 305 00:15:13,770 --> 00:15:16,700 at least for now about functions. 306 306 00:15:16,700 --> 00:15:19,570 So make sure that you get all of this down 307 307 00:15:19,570 --> 00:15:22,350 and then you can move on right to the next video 308 308 00:15:22,350 --> 00:15:24,050 where the first coding challenge 309 309 00:15:24,050 --> 00:15:26,000 of this section waits for you. 310 310 00:15:26,000 --> 00:15:28,320 And as you can probably guess, 311 311 00:15:28,320 --> 00:15:31,210 it's gonna be about writing your own function 312 312 00:15:31,210 --> 00:15:32,940 for the very first time. 313 313 00:15:32,940 --> 00:15:34,653 So I hope to see you there soon. 27055

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