Block Scope - Demonstration

5 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€93.23
List Price:  €130.53
You save:  €37.29
£79.94
List Price:  £111.92
You save:  £31.98
CA$136.79
List Price:  CA$191.52
You save:  CA$54.72
A$153.20
List Price:  A$214.48
You save:  A$61.28
S$135.94
List Price:  S$190.32
You save:  S$54.38
HK$782.80
List Price:  HK$1,095.96
You save:  HK$313.15
CHF 91.30
List Price:  CHF 127.83
You save:  CHF 36.52
NOK kr1,094.90
List Price:  NOK kr1,532.91
You save:  NOK kr438
DKK kr695.39
List Price:  DKK kr973.58
You save:  DKK kr278.18
NZ$167.81
List Price:  NZ$234.95
You save:  NZ$67.13
د.إ367.25
List Price:  د.إ514.16
You save:  د.إ146.91
৳10,958.03
List Price:  ৳15,341.69
You save:  ৳4,383.65
₹8,331.80
List Price:  ₹11,664.86
You save:  ₹3,333.05
RM477.70
List Price:  RM668.80
You save:  RM191.10
₦126,689.32
List Price:  ₦177,370.12
You save:  ₦50,680.80
₨27,798.13
List Price:  ₨38,918.49
You save:  ₨11,120.36
฿3,702.20
List Price:  ฿5,183.23
You save:  ฿1,481.03
₺3,249.97
List Price:  ₺4,550.10
You save:  ₺1,300.12
B$514.66
List Price:  B$720.55
You save:  B$205.88
R1,901.16
List Price:  R2,661.70
You save:  R760.54
Лв182.41
List Price:  Лв255.39
You save:  Лв72.97
₩137,421.64
List Price:  ₩192,395.79
You save:  ₩54,974.15
₪379.55
List Price:  ₪531.39
You save:  ₪151.83
₱5,778.57
List Price:  ₱8,090.23
You save:  ₱2,311.66
¥15,552.99
List Price:  ¥21,774.81
You save:  ¥6,221.82
MX$1,705.36
List Price:  MX$2,387.58
You save:  MX$682.21
QR364.16
List Price:  QR509.84
You save:  QR145.68
P1,384.82
List Price:  P1,938.81
You save:  P553.98
KSh13,448.65
List Price:  KSh18,828.65
You save:  KSh5,380
E£4,789.16
List Price:  E£6,705.01
You save:  E£1,915.85
ብር5,677.33
List Price:  ብር7,948.49
You save:  ብር2,271.15
Kz83,741.62
List Price:  Kz117,241.62
You save:  Kz33,500
CLP$95,258.47
List Price:  CLP$133,365.67
You save:  CLP$38,107.20
CN¥724.52
List Price:  CN¥1,014.36
You save:  CN¥289.84
RD$5,872.31
List Price:  RD$8,221.47
You save:  RD$2,349.16
DA13,431.87
List Price:  DA18,805.15
You save:  DA5,373.28
FJ$229.18
List Price:  FJ$320.86
You save:  FJ$91.68
Q776.12
List Price:  Q1,086.60
You save:  Q310.48
GY$20,901.55
List Price:  GY$29,263
You save:  GY$8,361.45
ISK kr13,994.60
List Price:  ISK kr19,593
You save:  ISK kr5,598.40
DH1,013.23
List Price:  DH1,418.56
You save:  DH405.33
L1,780.93
List Price:  L2,493.37
You save:  L712.44
ден5,743.61
List Price:  ден8,041.28
You save:  ден2,297.67
MOP$805.67
List Price:  MOP$1,127.97
You save:  MOP$322.30
N$1,914.68
List Price:  N$2,680.63
You save:  N$765.95
C$3,675.06
List Price:  C$5,145.23
You save:  C$1,470.17
रु13,310.19
List Price:  रु18,634.81
You save:  रु5,324.61
S/370.43
List Price:  S/518.62
You save:  S/148.18
K379.55
List Price:  K531.39
You save:  K151.83
SAR375.02
List Price:  SAR525.04
You save:  SAR150.02
ZK2,608.51
List Price:  ZK3,652.02
You save:  ZK1,043.50
L463.96
List Price:  L649.56
You save:  L185.60
Kč2,349.11
List Price:  Kč3,288.85
You save:  Kč939.73
Ft36,594.60
List Price:  Ft51,233.91
You save:  Ft14,639.30
SEK kr1,086.27
List Price:  SEK kr1,520.82
You save:  SEK kr434.55
ARS$87,315.45
List Price:  ARS$122,245.13
You save:  ARS$34,929.67
Bs689.99
List Price:  Bs966.01
You save:  Bs276.02
COP$389,137.18
List Price:  COP$544,807.62
You save:  COP$155,670.43
₡50,081.85
List Price:  ₡70,116.60
You save:  ₡20,034.74
L2,464.83
List Price:  L3,450.86
You save:  L986.03
₲741,742.01
List Price:  ₲1,038,468.49
You save:  ₲296,726.47
$U3,834.62
List Price:  $U5,368.62
You save:  $U1,534
zł402.27
List Price:  zł563.20
You save:  zł160.92
Already have an account? Log In

Transcript

Open your examples folder, and then open the block scope sub folder. Let's look at block scope example one. So here I've got this global variable i, which is equal to 100. And then I've got a block of code here. And inside the block, I output the value of i. And then outside of the block I put up with devalue by again, let's look at block example.

So I see 100, twice for A and B. And that makes sense, because I'm not actually doing anything too special here. I'm just outputting the value of i twice once once in the block, and once outside of the block. My point here is that because I didn't do anything special inside the block, I is still 100. So let's look at block example number two. I've got a global variable called I, which is equal to 100.

But then inside of my block, I've got a block level scope variable i which is equal to 50 and output that in the console. So this version of it is different than this version of I, because this one is has block level scope, it's actually scoped just to this block. So I equals 50 in the block, but I was 100 outside of the block. So when I look at block scope, Example two, I get 50 and 100. So the main point here is we're using the let keyword to create a block level scope. variable, which does not conflict with the global one because it's scoped here to the block.

Let's look at block scope example three. So here I do pretty much the exact same thing but instead of using the let keyword, I use the constant keyword to create this block scoped variable i. So if I execute blocks, example three, same thing 15 100 open block scope example number four. So here are two global variables I nj. I start to Zero and j starts at 100. I have a for loop.

And in the for loop, I increment i, but I also increment J. So what we should wind up with is a loop where the console outputs are equal to zero, and one 101 101 202, and so forth. Let's take a look at blocks go example four. And that's what we wind up with. So the point I'm making here is that we're not leveraging block scope here, we're incrementing i n j inside of the block cost. Let's see if we can fix that.

Example five, what we do is, it's very similar, except that inside of our block, we set j to be scoped just to this block. So now j is equal to 50. And we increment J. So what we're going to wind up with is a loop where the console outputs are zero 51 151 two 51 351 and so forth, because on every iteration of the loop, we're setting a new variable that scoped just to this block and incrementing it just one. So if we go to blocks go example five, that's a we get zero 51 151 to 51. Just illustrating that j is scoped to this block.

And every on every iteration of lock, we get a new version of J, we're creating a new version of j using the let keyword. And it's scoped just to this block, whereas AI is scoped globally. So it changed on every iteration. Also get block scope, example six. Here, we're doing the exact same thing. Only we're defining j with the const keyword instead of the let keyword.

But this will be a problem. Because with the const keyword, we can't overwrite the value that we create. Once we create Free Ha. And say it's equal to a, we can't turn around and say j is equal to P, because with the const keyword, we're creating a constant. So this attempt to increment j will throw a typer. Let's look at example number six.

Block scope. Example number six, you can see uncaught type error assignment to constant variable. So what that saying is, hey, you created a constant here, and then you turned around and try to change it, we can't do that. So the const keyword works the same way as let keyword it creates a block level scoped variable. But once you create that variable, you can't change it, you can't override it. So if we look at block scope, example seven, we do pretty much the same thing.

But we don't try to change j, we just leave it the way it is. So we'll get the console output of zero, 5152 5350, and so forth. So we're going to show examples block scope seven, and exactly what we do. Get to 5152 50. And that's because we create the block level j, l variable, which is equal to 50. And it's fine.

It's now j does not conflict conflict with this version of J. That's global, but we just don't change it. So the thing to remember about letting const is that with lead, you can create a variable that has block level scope, and you can change it. Whereas with const you can't change it. Once you create it, you must leave it alone. It's a constant, but both let and const create block level scoped variables.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.