1
00:00:01,359 --> 00:00:02,270
<v Jonas>In this lecture,</v>

2
00:00:02,270 --> 00:00:04,444
we're gonna go back to the this keyword

3
00:00:04,444 --> 00:00:08,060
and learn how we can set the this keyword manually

4
00:00:08,060 --> 00:00:10,963
and also why we would want to do that.

5
00:00:12,195 --> 00:00:15,523
So let's say we are an airline again

6
00:00:15,523 --> 00:00:19,100
and in this case, Lufthansa,

7
00:00:19,100 --> 00:00:22,203
which is the biggest European airline group, by the way.

8
00:00:23,280 --> 00:00:26,410
And so let's create a very simple object

9
00:00:26,410 --> 00:00:31,410
for this airline with a very simple booking method as well.

10
00:00:34,120 --> 00:00:35,673
So we have the airline name.

11
00:00:36,520 --> 00:00:39,363
We have the code basically.

12
00:00:42,750 --> 00:00:46,093
We also want to keep an array of bookings.

13
00:00:47,010 --> 00:00:50,080
So also inside of the object,

14
00:00:50,080 --> 00:00:52,160
and then the book method.

15
00:00:52,160 --> 00:00:54,630
And remember from the previous section,

16
00:00:54,630 --> 00:00:57,880
I will now start using the way of writing methods,

17
00:00:57,880 --> 00:01:00,897
using the enhanced object literal syntax.

18
00:01:00,897 --> 00:01:05,897
And so that's simply by defining the method like this

19
00:01:06,010 --> 00:01:07,913
without having to write a function.

20
00:01:08,770 --> 00:01:11,710
So remember, before this,

21
00:01:11,710 --> 00:01:15,200
we used to do this, right?

22
00:01:15,200 --> 00:01:17,260
And if you still prefer this syntax,

23
00:01:17,260 --> 00:01:19,330
you can still do this one.

24
00:01:19,330 --> 00:01:22,940
But I do actually prefer the new syntax.

25
00:01:22,940 --> 00:01:25,653
And so I'll just start using this one now.

26
00:01:27,300 --> 00:01:29,340
So the flight number

27
00:01:29,340 --> 00:01:31,683
and also the passenger name here.

28
00:01:33,450 --> 00:01:35,873
So then let's log something to the console.

29
00:01:37,720 --> 00:01:40,930
And again, this could have been boilerplate code here

30
00:01:40,930 --> 00:01:45,223
but it's also good to practice writing this.

31
00:01:46,720 --> 00:01:51,463
So this should be a template string booked a seat on,

32
00:01:52,490 --> 00:01:55,700
so basically, we want to print like Jonas booked a seat

33
00:01:55,700 --> 00:01:57,837
on Lufthansa flight

34
00:01:57,837 --> 00:01:59,210
and then the flight number.

35
00:01:59,210 --> 00:02:02,440
And so here we are now going to get the airline name

36
00:02:02,440 --> 00:02:04,290
from the object.

37
00:02:04,290 --> 00:02:05,518
And so we already learned

38
00:02:05,518 --> 00:02:09,903
that for that, we use the this keyword, right?

39
00:02:11,858 --> 00:02:15,463
And then flight this.iataCode.

40
00:02:18,490 --> 00:02:20,020
So that's gonna be the LH

41
00:02:20,020 --> 00:02:22,130
and then the flight number itself

42
00:02:22,130 --> 00:02:23,853
that we pass into the function.

43
00:02:24,710 --> 00:02:26,307
So the flightNumber.

44
00:02:27,170 --> 00:02:29,760
So for now, this is just a nice review

45
00:02:29,760 --> 00:02:32,853
of how the this keyword works, right?

46
00:02:34,100 --> 00:02:36,540
And of course, I will now assume that you know

47
00:02:36,540 --> 00:02:37,950
how all of this works

48
00:02:37,950 --> 00:02:41,040
because otherwise, I will have to explain the same things

49
00:02:41,040 --> 00:02:43,000
over and over again.

50
00:02:43,000 --> 00:02:44,910
And so as I mentioned before,

51
00:02:44,910 --> 00:02:47,550
you should only progress once you really understand

52
00:02:47,550 --> 00:02:49,200
a certain topic.

53
00:02:49,200 --> 00:02:53,200
Anyway, let's now use the book function here.

54
00:02:53,200 --> 00:02:56,220
And I'll use the flight number 239

55
00:02:57,440 --> 00:02:59,963
and then with my own name.

56
00:03:01,350 --> 00:03:04,210
And let's right away book another Lufthansa flight

57
00:03:06,020 --> 00:03:11,003
for let's say Mike Smith on flight number 635.

58
00:03:12,830 --> 00:03:15,080
John Smith.

59
00:03:15,080 --> 00:03:17,930
And now, if we take a look at the results,

60
00:03:17,930 --> 00:03:22,930
then indeed, everything works just as expected, right?

61
00:03:23,840 --> 00:03:25,830
And so it's important to understand

62
00:03:25,830 --> 00:03:28,030
that the this keyword here points

63
00:03:28,030 --> 00:03:30,190
to the lufthansa object itself

64
00:03:30,190 --> 00:03:31,640
because that's the object

65
00:03:31,640 --> 00:03:34,990
on which the book method here was called.

66
00:03:34,990 --> 00:03:39,240
So again, that's just what I explained before, right?

67
00:03:39,240 --> 00:03:41,670
But now let's say that after some years,

68
00:03:41,670 --> 00:03:44,383
the Lufthansa Group created a new airline.

69
00:03:45,480 --> 00:03:48,910
So let's create eurowings here.

70
00:03:52,057 --> 00:03:53,757
And then a very similar object.

71
00:03:55,460 --> 00:03:58,403
So with the airline, the code.

72
00:04:00,660 --> 00:04:03,483
And also an empty bookings array.

73
00:04:06,160 --> 00:04:07,580
Okay?

74
00:04:07,580 --> 00:04:08,413
Oh, and by the way,

75
00:04:08,413 --> 00:04:11,840
we actually also want our book method here

76
00:04:11,840 --> 00:04:14,520
to add a new object to our bookings here.

77
00:04:14,520 --> 00:04:16,770
So that's super important as well.

78
00:04:16,770 --> 00:04:17,750
So I forget that.

79
00:04:17,750 --> 00:04:19,590
So let's go back here.

80
00:04:19,590 --> 00:04:21,610
So we will say again this

81
00:04:21,610 --> 00:04:22,960
and then the bookings array

82
00:04:24,280 --> 00:04:27,620
and then let's put a new object in there

83
00:04:27,620 --> 00:04:29,020
with the flight

84
00:04:30,020 --> 00:04:32,653
and so that's essentially gonna be this one.

85
00:04:33,750 --> 00:04:36,003
So the code plus the flight number.

86
00:04:40,150 --> 00:04:42,630
And then also the passenger name.

87
00:04:42,630 --> 00:04:46,143
And then let's quickly log that to the console here.

88
00:04:48,960 --> 00:04:52,090
So this.bookings is not a function

89
00:04:52,090 --> 00:04:54,339
and of course, it's not.

90
00:04:54,339 --> 00:04:57,153
We need the push method indeed.

91
00:04:58,470 --> 00:05:01,590
And so now you see that we have an array

92
00:05:01,590 --> 00:05:03,133
of our two bookings here.

93
00:05:05,000 --> 00:05:06,790
So that works perfectly.

94
00:05:06,790 --> 00:05:10,010
But now anyway, going back here to Eurowings,

95
00:05:10,010 --> 00:05:11,720
of course, we also want to be able

96
00:05:11,720 --> 00:05:15,290
to take bookings for a Eurowings flight,

97
00:05:15,290 --> 00:05:18,370
so as being this airline, right?

98
00:05:18,370 --> 00:05:21,110
Now, taking this exact same method here

99
00:05:21,110 --> 00:05:24,070
and simply copying it and pasting it here

100
00:05:24,070 --> 00:05:26,670
is a bad practice, right?

101
00:05:26,670 --> 00:05:29,240
So of course, we are not gonna do that.

102
00:05:29,240 --> 00:05:31,750
So instead, we will just take the method

103
00:05:31,750 --> 00:05:34,290
and store it in an external function.

104
00:05:34,290 --> 00:05:36,650
And then we can reuse that function

105
00:05:36,650 --> 00:05:38,453
for all of the different airlines.

106
00:05:39,520 --> 00:05:44,520
So what I mean is to create a new function called book

107
00:05:45,400 --> 00:05:50,357
and we will simply set it to lufthansa.book, all right?

108
00:05:52,860 --> 00:05:54,300
So again, this is possible

109
00:05:54,300 --> 00:05:57,630
because JavaScript has first class functions.

110
00:05:57,630 --> 00:06:01,260
And so we can simply take this function value here.

111
00:06:01,260 --> 00:06:03,730
So that's this function

112
00:06:03,730 --> 00:06:06,430
and then store it into a new variable,

113
00:06:06,430 --> 00:06:10,470
which is then gonna be also the book function, okay?

114
00:06:10,470 --> 00:06:13,460
Now, we could have written the function here also literally

115
00:06:13,460 --> 00:06:15,280
but that's just not necessary.

116
00:06:15,280 --> 00:06:16,680
We have it right here

117
00:06:16,680 --> 00:06:18,350
and so let's just leave it there

118
00:06:18,350 --> 00:06:21,160
and assign it to book right here.

119
00:06:21,160 --> 00:06:24,660
Okay, so let's try to use this book function

120
00:06:24,660 --> 00:06:27,230
to do a new booking now.

121
00:06:27,230 --> 00:06:30,150
But what do you think is gonna happen?

122
00:06:30,150 --> 00:06:35,150
So 23, and then let's say Sarah Williams

123
00:06:37,030 --> 00:06:38,520
and let's give it a save

124
00:06:38,520 --> 00:06:43,480
and now we get cannot read property airline of undefined.

125
00:06:43,480 --> 00:06:45,193
So do you know why this happened?

126
00:06:46,120 --> 00:06:48,710
Well, it's because this function here,

127
00:06:48,710 --> 00:06:52,030
the book function is now just a regular function call

128
00:06:52,030 --> 00:06:55,170
and so as we learned in one of the previous sections,

129
00:06:55,170 --> 00:06:56,427
in a regular function call,

130
00:06:56,427 --> 00:06:59,400
the this keyword points to undefined,

131
00:06:59,400 --> 00:07:02,070
at least in strict mode.

132
00:07:02,070 --> 00:07:03,086
All right?

133
00:07:03,086 --> 00:07:08,086
So once more, this book function is no longer this method.

134
00:07:08,900 --> 00:07:09,733
Okay?

135
00:07:09,733 --> 00:07:10,566
It's just not.

136
00:07:10,566 --> 00:07:13,400
It is now this separate function here.

137
00:07:13,400 --> 00:07:16,280
It's a copy of this one

138
00:07:16,280 --> 00:07:17,980
but it's not a method anymore,

139
00:07:17,980 --> 00:07:19,007
it's now a function.

140
00:07:19,007 --> 00:07:21,900
And so here it's a regular function call.

141
00:07:21,900 --> 00:07:25,130
And so therefore, the this keyword inside of it

142
00:07:25,130 --> 00:07:27,470
will now point to undefined.

143
00:07:27,470 --> 00:07:29,810
And that's why I kept telling you earlier

144
00:07:29,810 --> 00:07:32,610
that the this keyword depends on how the function

145
00:07:32,610 --> 00:07:34,410
is actually called.

146
00:07:34,410 --> 00:07:38,240
Okay, so make sure to understand these dynamics here.

147
00:07:38,240 --> 00:07:41,500
But now how do we actually fix this problem?

148
00:07:41,500 --> 00:07:44,870
So in other words, how do we tell JavaScript

149
00:07:44,870 --> 00:07:46,720
that we want to create a booking

150
00:07:46,720 --> 00:07:49,030
on the new Eurowings airline?

151
00:07:49,030 --> 00:07:51,290
Or even how do we tell it that we want

152
00:07:51,290 --> 00:07:53,980
to book on Lufthansa here?

153
00:07:53,980 --> 00:07:57,910
Well, basically, we need to tell JavaScript explicitly

154
00:07:57,910 --> 00:08:00,780
what the this keyword here should be like.

155
00:08:00,780 --> 00:08:03,320
So if we want to book a Lufthansa flight,

156
00:08:03,320 --> 00:08:06,190
the this keyword should point to Lufthansa

157
00:08:06,190 --> 00:08:09,620
but if we want to book a Eurowings flight,

158
00:08:09,620 --> 00:08:12,800
then the this keyword should point to Eurowings.

159
00:08:12,800 --> 00:08:14,370
So how do we do that?

160
00:08:14,370 --> 00:08:17,300
How do we tell JavaScript explicitly

161
00:08:17,300 --> 00:08:21,700
or manually what this this keyword should look like?

162
00:08:21,700 --> 00:08:24,890
Well, there are three function methods to do that

163
00:08:24,890 --> 00:08:28,550
and they are call, apply and bind.

164
00:08:28,550 --> 00:08:31,020
So when we first talked about the this keyword,

165
00:08:31,020 --> 00:08:33,700
I think I mentioned these methods back then

166
00:08:33,700 --> 00:08:35,300
and so now we're gonna use them,

167
00:08:35,300 --> 00:08:37,453
at least the call and apply methods.

168
00:08:38,790 --> 00:08:40,743
Okay, so let me show you how.

169
00:08:40,743 --> 00:08:43,870
So instead of just doing this,

170
00:08:43,870 --> 00:08:45,810
which doesn't work,

171
00:08:45,810 --> 00:08:47,983
let's actually comment that out.

172
00:08:48,930 --> 00:08:50,793
Does NOT work.

173
00:08:52,330 --> 00:08:57,330
So instead, we use book.call, all right?

174
00:08:57,440 --> 00:09:02,280
And remember that a function is really just an object

175
00:09:02,280 --> 00:09:04,390
and objects have methods

176
00:09:04,390 --> 00:09:07,370
and therefore, functions can have methods too

177
00:09:07,370 --> 00:09:09,573
and the call method is one of them.

178
00:09:10,670 --> 00:09:11,870
And in the call method,

179
00:09:11,870 --> 00:09:14,230
the first argument is exactly

180
00:09:14,230 --> 00:09:17,230
what we want the this keyword to point to.

181
00:09:17,230 --> 00:09:21,130
So let's say we want a Eurowings flight

182
00:09:21,130 --> 00:09:22,520
and then as usual,

183
00:09:22,520 --> 00:09:24,350
the rest of the arguments.

184
00:09:24,350 --> 00:09:29,350
So 23 and Sarah Williams.

185
00:09:29,400 --> 00:09:30,310
All right?

186
00:09:30,310 --> 00:09:34,800
And then let's log to the console also the eurowings object.

187
00:09:34,800 --> 00:09:38,320
Let's run this and then I'll explain a bit better

188
00:09:38,320 --> 00:09:39,393
what just happened.

189
00:09:40,270 --> 00:09:43,140
But indeed, we now have the bookings array

190
00:09:43,140 --> 00:09:45,270
and in there, we have the object

191
00:09:45,270 --> 00:09:49,710
with the EW23 and so EW comes from here.

192
00:09:49,710 --> 00:09:51,770
So exactly from the eurowings object

193
00:09:52,965 --> 00:09:54,900
and then also, of course, the name.

194
00:09:54,900 --> 00:09:57,227
And again, it is inside the bookings array

195
00:09:57,227 --> 00:09:59,083
of the Eurowings object.

196
00:10:00,270 --> 00:10:02,383
So let's recap what happened here.

197
00:10:03,460 --> 00:10:05,110
So this time, we did actually

198
00:10:05,110 --> 00:10:07,870
not call the book function ourselves.

199
00:10:07,870 --> 00:10:10,480
Instead, we called the call method

200
00:10:10,480 --> 00:10:12,210
and it's then this call method,

201
00:10:12,210 --> 00:10:14,610
which will call the book function

202
00:10:14,610 --> 00:10:18,230
with the this keyword set to eurowings.

203
00:10:18,230 --> 00:10:21,080
So whatever we pass has the first argument

204
00:10:21,080 --> 00:10:22,940
of the call method.

205
00:10:22,940 --> 00:10:25,280
And so this allows us to manually

206
00:10:25,280 --> 00:10:27,950
and explicitly set the this keyword

207
00:10:27,950 --> 00:10:30,770
of any function that we want to call.

208
00:10:30,770 --> 00:10:33,360
Then all the arguments after the first one

209
00:10:33,360 --> 00:10:36,800
are simply the arguments of the original function.

210
00:10:36,800 --> 00:10:38,510
And so in the case of the book function,

211
00:10:38,510 --> 00:10:41,000
of course, that's the flight number

212
00:10:41,000 --> 00:10:42,733
and the passenger name.

213
00:10:44,460 --> 00:10:47,863
And of course, now we can do the same also for Lufthansa.

214
00:10:49,020 --> 00:10:53,243
So book.call, this time with lufthansa

215
00:10:54,630 --> 00:10:58,213
and let's book someone else on flight 239.

216
00:11:02,210 --> 00:11:03,750
Let's say Mary Cooper

217
00:11:03,750 --> 00:11:08,557
and let's log again the lufthansa object

218
00:11:08,557 --> 00:11:10,763
but let's do it now here.

219
00:11:12,890 --> 00:11:15,210
And indeed, the string that we get here

220
00:11:15,210 --> 00:11:16,870
is completely correct

221
00:11:16,870 --> 00:11:21,670
and in here, so in the Lufthansa bookings array,

222
00:11:21,670 --> 00:11:24,373
we now have, of course, three bookings.

223
00:11:25,413 --> 00:11:26,370
Okay?

224
00:11:26,370 --> 00:11:29,000
And so that, of course, happened because this time,

225
00:11:29,000 --> 00:11:30,890
we set the this keyword inside

226
00:11:30,890 --> 00:11:33,843
of the function call to lufthansa.

227
00:11:34,770 --> 00:11:39,770
And so now this here is again back to pointing to Lufthansa,

228
00:11:39,940 --> 00:11:42,920
while before, right here,

229
00:11:42,920 --> 00:11:46,320
it was being pointed to Eurowings, all right?

230
00:11:46,320 --> 00:11:49,660
So even though the code of this function

231
00:11:49,660 --> 00:11:52,740
is inside of the lufthansa object,

232
00:11:52,740 --> 00:11:56,370
we made it so that the this keyword in here

233
00:11:56,370 --> 00:11:58,820
pointed to eurowings.

234
00:11:58,820 --> 00:12:03,460
So to this object, this new one right here, okay?

235
00:12:03,460 --> 00:12:04,450
So we have a way now

236
00:12:04,450 --> 00:12:07,484
of manually manipulating the this keyword

237
00:12:07,484 --> 00:12:09,530
using the call method.

238
00:12:09,530 --> 00:12:11,860
And of course, we could now keep going

239
00:12:11,860 --> 00:12:15,027
and create more airlines into the Lufthansa Group,

240
00:12:15,027 --> 00:12:17,423
like the Swiss Air Lines.

241
00:12:23,115 --> 00:12:23,948
Air Lines.

242
00:12:25,040 --> 00:12:27,770
Now, of course, these property names,

243
00:12:27,770 --> 00:12:31,800
they all need to have the exact same format

244
00:12:31,800 --> 00:12:34,230
as this original object here

245
00:12:34,230 --> 00:12:38,720
because this method is trying to read just these properties.

246
00:12:38,720 --> 00:12:40,820
So it's always iataCode

247
00:12:40,820 --> 00:12:44,560
and bookings, as you see here, and airline.

248
00:12:44,560 --> 00:12:45,580
And so of course,

249
00:12:45,580 --> 00:12:49,480
we need to use exactly these property names here as well

250
00:12:51,120 --> 00:12:52,420
but just like this,

251
00:12:52,420 --> 00:12:54,300
we can now go ahead

252
00:12:54,300 --> 00:12:58,443
and use our book function on the Swiss Air Line.

253
00:13:00,070 --> 00:13:02,660
And so this time, we will set the this keyword

254
00:13:02,660 --> 00:13:06,163
in the book.call to the swiss object.

255
00:13:07,250 --> 00:13:12,250
583 and let's book another flight for Mary Cooper here.

256
00:13:18,500 --> 00:13:20,473
And indeed, it worked again.

257
00:13:21,600 --> 00:13:25,323
So here is the booking again.

258
00:13:26,390 --> 00:13:27,390
Okay?

259
00:13:27,390 --> 00:13:29,510
There's just some weird thing here

260
00:13:30,600 --> 00:13:33,380
and so oh, actually here,

261
00:13:33,380 --> 00:13:35,120
it needs to be airline as well.

262
00:13:35,120 --> 00:13:39,620
So I was telling you you need to use the same property names

263
00:13:39,620 --> 00:13:42,070
and I wasn't even doing it myself.

264
00:13:42,070 --> 00:13:46,290
So it needs to be airline, just like it is here

265
00:13:47,250 --> 00:13:48,763
and the same here too.

266
00:13:51,150 --> 00:13:53,993
And now the string is, of course, correct here.

267
00:13:55,480 --> 00:13:56,860
Okay.

268
00:13:56,860 --> 00:13:58,573
Let me add a comment here.

269
00:14:00,160 --> 00:14:03,000
Call method because in fact,

270
00:14:03,000 --> 00:14:05,890
there is a similar method to the call method,

271
00:14:05,890 --> 00:14:09,530
which is called the apply method.

272
00:14:09,530 --> 00:14:13,560
And the apply method does basically exactly the same thing.

273
00:14:13,560 --> 00:14:15,720
The only difference is that apply

274
00:14:15,720 --> 00:14:18,290
does not receive a list of arguments

275
00:14:18,290 --> 00:14:19,723
after the this keyword,

276
00:14:20,710 --> 00:14:23,160
so it doesn't receive this list here

277
00:14:23,160 --> 00:14:25,300
but instead, it's gonna take an array

278
00:14:25,300 --> 00:14:27,697
of the arguments, okay?

279
00:14:27,697 --> 00:14:29,970
And so it will then take the elements

280
00:14:29,970 --> 00:14:33,670
from that array and pass it into the function.

281
00:14:33,670 --> 00:14:34,570
So let's say

282
00:14:37,003 --> 00:14:37,920
flightData,

283
00:14:39,190 --> 00:14:41,540
so I'm just gonna create quickly an array here

284
00:14:41,540 --> 00:14:44,850
with the flight number and the passenger name.

285
00:14:44,850 --> 00:14:49,800
So book on the same flight George Cooper

286
00:14:50,900 --> 00:14:54,703
and now we can use apply on the book function.

287
00:14:55,610 --> 00:14:56,823
So apply.

288
00:14:57,870 --> 00:15:00,990
And then just as here in the call method,

289
00:15:00,990 --> 00:15:03,783
the first argument is the this keyword.

290
00:15:05,200 --> 00:15:06,950
But now the second argument,

291
00:15:06,950 --> 00:15:10,333
it needs to be as I just said an array of data.

292
00:15:11,180 --> 00:15:13,963
So let's pass in the flightData array here.

293
00:15:15,410 --> 00:15:17,010
But then let's just take a look.

294
00:15:18,180 --> 00:15:20,313
I'll just take this one here actually.

295
00:15:24,200 --> 00:15:27,820
And so indeed, here it worked again.

296
00:15:27,820 --> 00:15:29,220
All right?

297
00:15:29,220 --> 00:15:32,060
This apply method is not that used anymore

298
00:15:32,060 --> 00:15:34,660
in modern JavaScript because now,

299
00:15:34,660 --> 00:15:39,130
we actually have a better way of doing the exact same thing.

300
00:15:39,130 --> 00:15:41,163
And do you know what I'm talking about?

301
00:15:42,120 --> 00:15:44,830
So let me show it to you.

302
00:15:44,830 --> 00:15:49,260
Book.call, so instead of using apply,

303
00:15:49,260 --> 00:15:51,740
we can still use call,

304
00:15:51,740 --> 00:15:53,540
again with swiss

305
00:15:53,540 --> 00:15:56,770
and then we can simply use the spread operator

306
00:15:56,770 --> 00:15:59,227
to take the data out of flightData

307
00:16:00,090 --> 00:16:02,430
and basically put them here.

308
00:16:02,430 --> 00:16:06,050
So this here is the same as this one.

309
00:16:06,050 --> 00:16:08,780
And so right now, with modern JavaScript,

310
00:16:08,780 --> 00:16:12,140
I prefer to just always use the call method

311
00:16:12,140 --> 00:16:16,773
and then spread out the arguments from an array like this.

312
00:16:18,300 --> 00:16:22,523
So again, this here is exactly the same as this.

313
00:16:23,720 --> 00:16:27,260
So in summary, we now have yet another tool

314
00:16:27,260 --> 00:16:29,210
in our toolbox here

315
00:16:29,210 --> 00:16:31,450
and this one is one that allows us

316
00:16:31,450 --> 00:16:34,820
to explicitly define the this keyword

317
00:16:34,820 --> 00:16:36,890
in any function that we want.

318
00:16:36,890 --> 00:16:39,260
But there is actually yet another method

319
00:16:39,260 --> 00:16:41,520
which allows us to do the same thing

320
00:16:41,520 --> 00:16:43,530
and that's the bind method.

321
00:16:43,530 --> 00:16:44,363
It's more important actually

322
00:16:44,363 --> 00:16:46,740
than the call and apply methods,

323
00:16:46,740 --> 00:16:49,053
so I'm gonna leave it for the next lecture.

