All language subtitles for 011 Reference Trap_en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
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
hmn Hmong
hu Hungarian Download
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
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
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 Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
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,330 --> 00:00:04,030 Once again, we need to be careful of the reference trap. 2 00:00:09,110 --> 00:00:14,240 There are two ways to fall for this trap, it can happen by mishandling arrays and objects. 3 00:00:18,050 --> 00:00:22,010 In this lesson, we're going to see how this trap occurs when mishandling objects. 4 00:00:27,410 --> 00:00:31,780 A trap happens when many variables a reference to one object. 5 00:00:40,400 --> 00:00:43,970 If I update the object through one variable, it's going to affect the other. 6 00:00:50,630 --> 00:00:54,330 To avoid the trap, do not set class variables equal to each other. 7 00:00:54,920 --> 00:00:55,850 Sound familiar? 8 00:00:55,880 --> 00:00:56,590 I hope so. 9 00:00:57,140 --> 00:00:59,390 I told you the same thing about array variables. 10 00:01:03,680 --> 00:01:06,860 The see this inaction will add another variable in Nissan to. 11 00:01:12,280 --> 00:01:14,590 And we'll set it equal to the Nissan object. 12 00:01:21,590 --> 00:01:23,810 And for now, I'd like to remove the setas. 13 00:01:29,740 --> 00:01:32,080 Then we're going to print the fields from Nissan to. 14 00:02:01,700 --> 00:02:03,610 OK, nothing weird so far. 15 00:02:05,890 --> 00:02:09,250 Now, what if I decide to paint the second Nissan yellow? 16 00:02:24,310 --> 00:02:25,120 Run the code. 17 00:02:34,350 --> 00:02:39,600 Oh, I meant the only update, the second Nisan, but now the first Nissan is yellow as well. 18 00:02:40,810 --> 00:02:42,040 You fell into the trap. 19 00:02:47,470 --> 00:02:51,080 When you set a variable equal to another, it copies the value inside. 20 00:02:51,610 --> 00:02:57,730 In this case, what's inside is a reference and now both variables share a reference that points to 21 00:02:57,730 --> 00:02:58,720 the same object. 22 00:02:59,200 --> 00:03:02,650 If I update the object, the one variable, it's going to affect the other. 23 00:03:03,400 --> 00:03:04,810 This is bad. 24 00:03:08,780 --> 00:03:14,930 The state of a variable should not change because you updated another, the reference shop can make 25 00:03:14,930 --> 00:03:17,090 your code dangerous and unpredictable. 26 00:03:21,410 --> 00:03:25,730 The solution is to make a new object, don't be lazy is create a new object. 27 00:03:29,870 --> 00:03:34,550 Inside your code set the variable Nissan to equal to a new object. 28 00:03:37,260 --> 00:03:42,270 And after creating a new object called the constructor, by passing the four values that it needs to 29 00:03:42,270 --> 00:03:43,470 update your fields. 30 00:03:49,330 --> 00:03:50,590 All right, run your code. 31 00:03:54,500 --> 00:03:58,190 And as I expect, all of the objects are independent of each other. 32 00:04:01,860 --> 00:04:07,700 Instead of setting the variables equal to each other, we made a new object and now my mind is at peace. 33 00:04:07,980 --> 00:04:11,860 I can take comfort knowing that each variable points to a unique object. 34 00:04:12,270 --> 00:04:16,019 I don't have to worry about the state of one variable being affected by another. 35 00:04:21,720 --> 00:04:25,400 This is a great solution, so we can update our table of traps. 36 00:04:26,040 --> 00:04:28,110 Don't worry, it's all in your cheat sheet. 37 00:04:32,990 --> 00:04:38,750 So far, we went over to reference drops in this video, we talked about the second trap do not set 38 00:04:38,750 --> 00:04:40,520 object variables equal to each other. 39 00:04:40,880 --> 00:04:42,440 This doesn't copy the object. 40 00:04:42,440 --> 00:04:43,730 It copies the reference. 41 00:04:54,190 --> 00:04:57,040 Instead, set your variable equal to a new object. 42 00:05:00,550 --> 00:05:05,980 It's much better if a variable points to a unique object, then you don't have to worry about the state 43 00:05:05,980 --> 00:05:08,500 of one variable being affected by another. 4070

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