All language subtitles for 19. Logical Operators

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,270 --> 00:00:03,430 Let's now return to our code 2 2 00:00:03,430 --> 00:00:07,253 and learn how logical operators work in JavaScript. 3 3 00:00:09,270 --> 00:00:11,690 And let's actually use the Boolean variables 4 4 00:00:11,690 --> 00:00:13,310 from the last lecture. 5 5 00:00:13,310 --> 00:00:16,520 So the one about having a drivers license 6 6 00:00:16,520 --> 00:00:18,053 and having good vision. 7 7 00:00:20,460 --> 00:00:24,460 So, we are gonna create a variable for each of them. 8 8 00:00:24,460 --> 00:00:28,957 And the first one will be has drivers license 9 9 00:00:30,450 --> 00:00:33,440 and let's start by setting it to true. 10 10 00:00:33,440 --> 00:00:35,970 And remember that this one was variable A. 11 11 00:00:37,576 --> 00:00:41,283 And then let's create has good vision 12 12 00:00:44,190 --> 00:00:46,813 and also, let's initialize it with true. 13 13 00:00:48,250 --> 00:00:51,290 So these were the two A and B variables 14 14 00:00:51,290 --> 00:00:54,450 that we used in the last lecture as an example. 15 15 00:00:54,450 --> 00:00:57,263 And so it's a good idea to use these here as well. 16 16 00:00:58,650 --> 00:01:00,981 Okay, but now let's get started with the end 17 17 00:01:00,981 --> 00:01:03,530 and or operators. 18 18 00:01:03,530 --> 00:01:07,910 So let's log to the console, of using the end operator 19 19 00:01:07,910 --> 00:01:09,910 on these two variables. 20 20 00:01:09,910 --> 00:01:12,460 So has drivers license 21 21 00:01:12,460 --> 00:01:16,990 and now the end operator in JavaScript is this one. 22 22 00:01:16,990 --> 00:01:20,160 So it is we can combine two logical values. 23 23 00:01:20,160 --> 00:01:25,160 So has drivers license and has good vision. 24 24 00:01:26,570 --> 00:01:29,490 So let's see what the result will be. 25 25 00:01:29,490 --> 00:01:32,160 So this one is true, right? 26 26 00:01:32,160 --> 00:01:34,220 And this one is true as well. 27 27 00:01:34,220 --> 00:01:39,220 So the result of true and true, should be true, right? 28 28 00:01:41,200 --> 00:01:46,200 So let's see and yes, so that works. 29 29 00:01:47,010 --> 00:01:50,223 But now, of course, we will change one of them to false. 30 30 00:01:51,410 --> 00:01:56,410 So remember, the result of true and false will be false, 31 31 00:01:56,810 --> 00:01:59,870 because it's enough for one variable to be false 32 32 00:01:59,870 --> 00:02:03,100 for the result of the operation to be false. 33 33 00:02:03,100 --> 00:02:05,360 And so here, we can now confirm that 34 34 00:02:05,360 --> 00:02:07,990 and indeed, that is the result. 35 35 00:02:07,990 --> 00:02:10,450 But now let's see what it would look like 36 36 00:02:10,450 --> 00:02:12,670 with the OR operator. 37 37 00:02:12,670 --> 00:02:16,053 So I just copy this and paste it here. 38 38 00:02:17,070 --> 00:02:21,900 Now, instead of end we use OR and that looks like this. 39 39 00:02:21,900 --> 00:02:25,970 So again, true or false. 40 40 00:02:25,970 --> 00:02:27,620 What do you think it will be? 41 41 00:02:27,620 --> 00:02:32,400 Remember from the last lecture and the result is true. 42 42 00:02:32,400 --> 00:02:35,750 So it's enough for one of the variables to be true 43 43 00:02:35,750 --> 00:02:38,660 for the whole operation to become true. 44 44 00:02:38,660 --> 00:02:42,250 So I hope that's nothing new at this point. 45 45 00:02:42,250 --> 00:02:47,250 And of course, finally we can also use the NOT operator 46 46 00:02:47,490 --> 00:02:50,410 to basically invert one of the values. 47 47 00:02:50,410 --> 00:02:55,090 And the NOT operator in JavaScript is the exclamation mark. 48 48 00:02:55,090 --> 00:02:59,293 So not has driver's license will become, 49 49 00:03:00,670 --> 00:03:04,153 so it will change from true to false. 50 50 00:03:05,210 --> 00:03:09,280 All right, and now since we know how all of this works, 51 51 00:03:09,280 --> 00:03:12,490 we can use these variables to take a decision. 52 52 00:03:12,490 --> 00:03:14,660 So let's say that we want to determine 53 53 00:03:14,660 --> 00:03:17,370 whether Sarah should drive or not. 54 54 00:03:17,370 --> 00:03:20,960 So let's create a new Boolean variable and use the others 55 55 00:03:20,960 --> 00:03:22,183 to determine that. 56 56 00:03:24,620 --> 00:03:29,390 So let's say should drive 57 57 00:03:29,390 --> 00:03:32,070 and our model is that Sarah should drive, 58 58 00:03:32,070 --> 00:03:34,180 if she has a driver's license 59 59 00:03:34,180 --> 00:03:38,040 and at the same time has good vision, okay? 60 60 00:03:38,040 --> 00:03:40,570 And so as I mentioned in the last lecture, 61 61 00:03:40,570 --> 00:03:42,880 we can now use these Boolean variables, 62 62 00:03:42,880 --> 00:03:46,670 and this Boolean logic to model complex situations. 63 63 00:03:46,670 --> 00:03:49,140 And this one is actually pretty simple, 64 64 00:03:49,140 --> 00:03:52,750 but we will take it up a notch by the end of this lecture. 65 65 00:03:52,750 --> 00:03:57,430 So remember, model is that she has a driver's license, 66 66 00:03:57,430 --> 00:04:00,483 and that she has good vision. 67 67 00:04:01,540 --> 00:04:04,700 Okay, and now we can use this variable 68 68 00:04:04,700 --> 00:04:06,903 to finally take the decision. 69 69 00:04:08,010 --> 00:04:12,470 So let's then use this Boolean variable here and say, 70 70 00:04:12,470 --> 00:04:17,470 if she should drive, then lock to the console. 71 71 00:04:19,300 --> 00:04:22,750 Sarah is able to drive 72 72 00:04:24,130 --> 00:04:25,023 and if not, 73 73 00:04:26,460 --> 00:04:30,150 just log someone else 74 74 00:04:32,790 --> 00:04:34,123 should derive. 75 75 00:04:36,530 --> 00:04:40,510 Now, okay, and actually we can put the condition right here 76 76 00:04:40,510 --> 00:04:42,150 in the IF condition. 77 77 00:04:42,150 --> 00:04:44,020 So this was just to show you a little bit 78 78 00:04:44,020 --> 00:04:45,920 the thought process. 79 79 00:04:45,920 --> 00:04:47,300 But as I mentioned earlier, 80 80 00:04:47,300 --> 00:04:50,290 we usually create the condition right here 81 81 00:04:50,290 --> 00:04:52,980 in the IF statement. 82 82 00:04:52,980 --> 00:04:57,980 So give it a safe and now let's run it and the result is, 83 83 00:04:58,620 --> 00:05:01,010 someone else should drive. 84 84 00:05:01,010 --> 00:05:05,880 So that is because has good vision is false, 85 85 00:05:05,880 --> 00:05:08,720 and so our condition of has driver's license 86 86 00:05:08,720 --> 00:05:11,300 and has good vision is not true. 87 87 00:05:11,300 --> 00:05:15,140 Because it's only true in case that both of them are true, 88 88 00:05:15,140 --> 00:05:17,870 as you already know by now. 89 89 00:05:17,870 --> 00:05:20,140 So this one is false right now. 90 90 00:05:20,140 --> 00:05:23,770 And so therefore the else block will be executed. 91 91 00:05:23,770 --> 00:05:26,363 But of course, we can change it once more. 92 92 00:05:27,550 --> 00:05:30,570 And so right now, both of them are true. 93 93 00:05:30,570 --> 00:05:35,310 So has driver's license true and has good vision true. 94 94 00:05:35,310 --> 00:05:40,263 So true and true, is true and so Sarah is able to drive. 95 95 00:05:41,530 --> 00:05:45,970 Let's check that and indeed, great. 96 96 00:05:45,970 --> 00:05:48,510 And but this one working now perfectly, 97 97 00:05:48,510 --> 00:05:50,610 let's take it to the next level 98 98 00:05:50,610 --> 00:05:53,173 and add another Boolean variable here. 99 99 00:05:54,140 --> 00:05:59,133 So, let's now also add is tired. 100 100 00:06:01,370 --> 00:06:03,693 And let's set it to true as well. 101 101 00:06:04,580 --> 00:06:07,363 So we can say that this is our variable C. 102 102 00:06:08,340 --> 00:06:13,130 So to use more than two variables with, for example, 103 103 00:06:13,130 --> 00:06:16,763 the end operator, let's just go ahead and copy this one. 104 104 00:06:17,890 --> 00:06:20,470 So if you want to say has driver's license 105 105 00:06:20,470 --> 00:06:23,600 or has good vision or is tired. 106 106 00:06:23,600 --> 00:06:27,730 All you have to do is to add another OR operator here, 107 107 00:06:27,730 --> 00:06:29,730 just like you would add another plus 108 108 00:06:29,730 --> 00:06:31,563 or another minus operator. 109 109 00:06:33,270 --> 00:06:36,760 And the result of this should of course, be true, 110 110 00:06:36,760 --> 00:06:39,143 because while all of them are true. 111 111 00:06:40,810 --> 00:06:42,323 And indeed, it is. 112 112 00:06:43,170 --> 00:06:45,373 And if we set them all to end, 113 113 00:06:48,220 --> 00:06:53,037 then it is also true, because all of them are true. 114 114 00:06:53,037 --> 00:06:55,430 And if we set this one to false, 115 115 00:06:55,430 --> 00:07:00,320 then as you can guess the result will be false. 116 116 00:07:00,320 --> 00:07:03,100 And that is because as I explained in the last lecture, 117 117 00:07:03,100 --> 00:07:06,230 it's enough for one of the operands to be false 118 118 00:07:06,230 --> 00:07:09,673 to make the whole end operation false as well. 119 119 00:07:12,420 --> 00:07:16,170 Okay, but let it set back to true. 120 120 00:07:16,170 --> 00:07:19,990 And now, we can use this to improve our decision making, 121 121 00:07:19,990 --> 00:07:23,670 whether Sarah should drive or not. 122 122 00:07:23,670 --> 00:07:25,900 So with this third variable now, 123 123 00:07:25,900 --> 00:07:27,910 we want Sarah to be able to drive 124 124 00:07:27,910 --> 00:07:31,970 if she has a driver's license, if she has good vision 125 125 00:07:31,970 --> 00:07:35,460 and if she is not tired, right? 126 126 00:07:35,460 --> 00:07:39,010 So let's now translate that into a condition. 127 127 00:07:39,010 --> 00:07:40,770 And I will just copy this one 128 128 00:07:40,770 --> 00:07:43,820 and then comment all of it out using Command 129 129 00:07:43,820 --> 00:07:47,460 or Control/ just like many times before 130 130 00:07:48,650 --> 00:07:52,030 and now we will improve this one. 131 131 00:07:52,030 --> 00:07:54,500 So this one, of course, is the same 132 132 00:07:54,500 --> 00:07:58,180 that she needs to have a driver's license and good vision. 133 133 00:07:58,180 --> 00:08:02,310 But now additionally, we want her to be not tired. 134 134 00:08:02,310 --> 00:08:05,160 So right now she is tired, it's true 135 135 00:08:05,160 --> 00:08:08,460 and that's, of course, not good for driving. 136 136 00:08:08,460 --> 00:08:11,550 So we want the opposite of being tired. 137 137 00:08:11,550 --> 00:08:15,380 And so therefore, we need to invert it. 138 138 00:08:15,380 --> 00:08:17,080 So do you remember how that works? 139 139 00:08:18,360 --> 00:08:21,760 All we need to do is to use the NOT operator. 140 140 00:08:21,760 --> 00:08:26,520 So not is tired, all right? 141 141 00:08:26,520 --> 00:08:28,930 So let's read this again, 142 142 00:08:28,930 --> 00:08:32,770 Sarah is able to drive if she has a driver's license. 143 143 00:08:32,770 --> 00:08:36,290 So if this one is true, if she has good vision, 144 144 00:08:36,290 --> 00:08:40,120 so if this one is true and if she is not tired, 145 145 00:08:40,120 --> 00:08:42,313 so if all of this is true here. 146 146 00:08:43,420 --> 00:08:46,810 So only in this condition, Sarah is able to drive. 147 147 00:08:46,810 --> 00:08:50,010 Now how is this part here true? 148 148 00:08:50,010 --> 00:08:54,890 Well, it's true, when is tired is false, right? 149 149 00:08:54,890 --> 00:08:56,310 So what do you think will happen 150 150 00:08:56,310 --> 00:08:58,960 in this situation right now? 151 151 00:08:58,960 --> 00:09:01,353 Well, let's test and then analyze. 152 152 00:09:02,350 --> 00:09:05,790 So we get the result, someone else should drive. 153 153 00:09:05,790 --> 00:09:07,590 So why is that? 154 154 00:09:07,590 --> 00:09:09,030 Well, this one is true, 155 155 00:09:09,030 --> 00:09:11,750 this one is true as we see up here, 156 156 00:09:11,750 --> 00:09:14,880 and then is tired is also true. 157 157 00:09:14,880 --> 00:09:18,500 However, not is tired is false. 158 158 00:09:18,500 --> 00:09:20,450 So this part here is false. 159 159 00:09:20,450 --> 00:09:25,000 And so true and true and false is of course, false. 160 160 00:09:25,000 --> 00:09:27,870 And so therefore, we get the else block, 161 161 00:09:27,870 --> 00:09:29,860 someone else should drive. 162 162 00:09:29,860 --> 00:09:30,893 Now to fix this, 163 163 00:09:31,780 --> 00:09:36,780 we need to change is tired to false, all right? 164 164 00:09:37,330 --> 00:09:40,750 And so right now is tired is false 165 165 00:09:40,750 --> 00:09:43,850 and therefore not is tired will become true. 166 166 00:09:43,850 --> 00:09:47,090 And then we have true and true and true 167 167 00:09:47,090 --> 00:09:50,743 and then in this situation, Sarah will be able to drive. 168 168 00:09:51,940 --> 00:09:54,870 Yes, indeed, it works now. 169 169 00:09:54,870 --> 00:09:58,340 So as you see, with these three Boolean operators, 170 170 00:09:58,340 --> 00:10:02,410 we can model all kinds of companies decisions like this one. 171 171 00:10:02,410 --> 00:10:06,090 Now, I know that this was probably a bit confusing, 172 172 00:10:06,090 --> 00:10:07,890 but please don't worry too much, 173 173 00:10:07,890 --> 00:10:10,970 because it's all very confusing for everyone 174 174 00:10:10,970 --> 00:10:14,350 when they first learn how to program, okay? 175 175 00:10:14,350 --> 00:10:16,710 Just take some time after this video 176 176 00:10:16,710 --> 00:10:19,800 and analyze again exactly what happens here. 177 177 00:10:19,800 --> 00:10:22,190 Maybe also together with the last video 178 178 00:10:22,190 --> 00:10:23,970 to really make sure that you understand 179 179 00:10:23,970 --> 00:10:25,890 what is going on here. 180 180 00:10:25,890 --> 00:10:28,860 But of course, the best way to retain any knowledge 181 181 00:10:28,860 --> 00:10:31,840 is by practicing and reinforcing it. 182 182 00:10:31,840 --> 00:10:35,363 And so let's do that now in the next coding challenge. 15854

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