We are live with another episode of #AsMeAnything Show and this time we are talking about "Typing with TypeScript" with Christopher Harrison - Senior Program Manager at Microsoft.
AGENDA
• Installing TypeScript
• Interfaces
• Typing variables and functions
• Configuring your project
🌎 C# Corner - Global Community of Software and Data Developers
🔗 https://www.c-sharpcorner.com
#csharpcorner #community #typescript #javascript #microsoft #typescript #learn #typescript #typescriptcourse #tutorial #javascript #superset
Show More Show Less View Video Transcript
0:02
[Music]
0:29
[Music]
0:29
[Music] w
0:36
[Music]
0:45
[Music]
0:45
[Music] [Applause]
0:58
n
1:21
hi everyone my name is Sten Simon and
1:23
hi everyone my name is Sten Simon and
1:24
hi everyone my name is Sten Simon and welcome back to C Corell live show I'm
1:26
welcome back to C Corell live show I'm
1:26
welcome back to C Corell live show I'm your host for the day as always and this
1:29
your host for the day as always and this
1:29
your host for the day as always and this live show AMA with Christopher Harrison
1:32
live show AMA with Christopher Harrison
1:32
live show AMA with Christopher Harrison is going to be really really interesting
1:34
is going to be really really interesting
1:34
is going to be really really interesting uh in this episode of AMA we're going to
1:36
uh in this episode of AMA we're going to
1:36
uh in this episode of AMA we're going to talk about typescript starting from very
1:38
talk about typescript starting from very
1:38
talk about typescript starting from very scratch and we will make sure that we
1:41
scratch and we will make sure that we
1:41
scratch and we will make sure that we don't spend time much on the uh
1:44
don't spend time much on the uh
1:44
don't spend time much on the uh presentations but I think Chris is going
1:46
presentations but I think Chris is going
1:46
presentations but I think Chris is going to take you on an amazing journey on uh
1:49
to take you on an amazing journey on uh
1:49
to take you on an amazing journey on uh just getting started with t all with the
1:52
just getting started with t all with the
1:52
just getting started with t all with the code uh I'm really excited I have seen
1:54
code uh I'm really excited I have seen
1:54
code uh I'm really excited I have seen Christopher as I have grown and I think
1:57
Christopher as I have grown and I think
1:57
Christopher as I have grown and I think many of you who are joining us today uh
2:00
many of you who are joining us today uh
2:00
many of you who are joining us today uh he has uh delivered uh he has educated
2:03
he has uh delivered uh he has educated
2:03
he has uh delivered uh he has educated many many people out there from students
2:05
many many people out there from students
2:05
many many people out there from students to developers it's an honor for me as a
2:07
to developers it's an honor for me as a
2:07
to developers it's an honor for me as a host to have him in the live show and uh
2:10
host to have him in the live show and uh
2:10
host to have him in the live show and uh I just cannot wait let's cut to the
2:12
I just cannot wait let's cut to the
2:12
I just cannot wait let's cut to the Chase and invite our guest of the S
2:16
Chase and invite our guest of the S
2:16
Chase and invite our guest of the S today Christopher
2:18
today Christopher
2:18
today Christopher [Music]
2:28
Harrison
2:32
[Music]
3:07
[Music]
3:08
[Music] hey Christopher welcome to the show
3:10
hey Christopher welcome to the show
3:10
hey Christopher welcome to the show thank you good morning that that was a
3:12
thank you good morning that that was a
3:13
thank you good morning that that was a fantastic video intro I I loved that and
3:16
fantastic video intro I I loved that and
3:17
fantastic video intro I I loved that and so many great memories from uh from mbaa
3:19
so many great memories from uh from mbaa
3:19
so many great memories from uh from mbaa highlighted in there as as well that was
3:22
highlighted in there as as well that was
3:22
highlighted in there as as well that was that was spectacular thank you I'm
3:24
that was spectacular thank you I'm
3:24
that was spectacular thank you I'm excited to be here all right so Christ
3:27
excited to be here all right so Christ
3:27
excited to be here all right so Christ tell me how are you where you're joining
3:28
tell me how are you where you're joining
3:28
tell me how are you where you're joining us today and uh how's life during this
3:32
us today and uh how's life during this
3:32
us today and uh how's life during this pandemic yeah um I'm I'm doing good um
3:36
pandemic yeah um I'm I'm doing good um
3:36
pandemic yeah um I'm I'm doing good um life during this pandemic is obviously
3:38
life during this pandemic is obviously
3:38
life during this pandemic is obviously you know a little bit strange as as it
3:41
you know a little bit strange as as it
3:41
you know a little bit strange as as it is for for everybody um this is this is
3:44
is for for everybody um this is this is
3:44
is for for everybody um this is this is the longest I've been home um in uh in
3:47
the longest I've been home um in uh in
3:47
the longest I've been home um in uh in quite a while um I've spent a lot of
3:50
quite a while um I've spent a lot of
3:50
quite a while um I've spent a lot of time um in uh in my office but generally
3:54
time um in uh in my office but generally
3:54
time um in uh in my office but generally speaking it's uh it's it's been good um
3:57
speaking it's uh it's it's been good um
3:57
speaking it's uh it's it's been good um it's given me an opportunity to do uh
3:59
it's given me an opportunity to do uh
3:59
it's given me an opportunity to do uh things like this to do a bit more um
4:02
things like this to do a bit more um
4:02
things like this to do a bit more um video content again which is uh which
4:04
video content again which is uh which
4:04
video content again which is uh which has been which has been nice so yeah
4:07
has been which has been nice so yeah
4:07
has been which has been nice so yeah yeah so uh how are you how are you doing
4:10
yeah so uh how are you how are you doing
4:10
yeah so uh how are you how are you doing I'm amazing uh I'm joining from India
4:13
I'm amazing uh I'm joining from India
4:13
I'm amazing uh I'm joining from India and I know you're joining from
4:15
and I know you're joining from
4:15
and I know you're joining from Seattle to very different part of the
4:18
Seattle to very different part of the
4:18
Seattle to very different part of the world but I think it is because of the
4:20
world but I think it is because of the
4:20
world but I think it is because of the pandemic that we have now started doing
4:21
pandemic that we have now started doing
4:21
pandemic that we have now started doing a lot of live shows and I know people
4:24
a lot of live shows and I know people
4:24
a lot of live shows and I know people are really some of the places people are
4:26
are really some of the places people are
4:26
are really some of the places people are really having tough times but I think we
4:27
really having tough times but I think we
4:27
really having tough times but I think we people are very fortunate enough to have
4:30
people are very fortunate enough to have
4:30
people are very fortunate enough to have all these resources and um it's it's
4:33
all these resources and um it's it's
4:33
all these resources and um it's it's been great I think we have realized that
4:34
been great I think we have realized that
4:34
been great I think we have realized that people have started moving to this new
4:37
people have started moving to this new
4:37
people have started moving to this new normal uh we certainly miss your studio
4:40
normal uh we certainly miss your studio
4:40
normal uh we certainly miss your studio and of course your
4:42
and of course your
4:42
and of course your Sammy
4:44
Sammy
4:44
Sammy right I just added that in the in the
4:46
right I just added that in the in the
4:46
right I just added that in the in the intro because je have mentioned
4:48
intro because je have mentioned
4:48
intro because je have mentioned everywhere about your Sammy
4:50
everywhere about your Sammy
4:50
everywhere about your Sammy and when I used to watch your show right
4:53
and when I used to watch your show right
4:53
and when I used to watch your show right I DMV I would never actually could get
4:55
I DMV I would never actually could get
4:55
I DMV I would never actually could get it who is Samy until as I would grow
4:58
it who is Samy until as I would grow
4:58
it who is Samy until as I would grow enough to follow you on Twitter about
4:59
enough to follow you on Twitter about
5:00
enough to follow you on Twitter about who Sammy is but but but now I know who
5:03
who Sammy is but but but now I know who
5:03
who Sammy is but but but now I know who Sami is very important part in your life
5:05
Sami is very important part in your life
5:05
Sami is very important part in your life and so Christopher I mean we had an
5:08
and so Christopher I mean we had an
5:08
and so Christopher I mean we had an introduction video but still as a
5:10
introduction video but still as a
5:10
introduction video but still as a forment I would like you to go ahead and
5:11
forment I would like you to go ahead and
5:11
forment I would like you to go ahead and give a quick introduction about yourself
5:13
give a quick introduction about yourself
5:13
give a quick introduction about yourself so for the people who are joining us for
5:15
so for the people who are joining us for
5:15
so for the people who are joining us for the first time and they would just know
5:17
the first time and they would just know
5:17
the first time and they would just know who you are and that would be great yeah
5:20
who you are and that would be great yeah
5:20
who you are and that would be great yeah absolutely so I am H I'm Christopher
5:22
absolutely so I am H I'm Christopher
5:22
absolutely so I am H I'm Christopher Harrison I'm a senior program manager at
5:26
Harrison I'm a senior program manager at
5:26
Harrison I'm a senior program manager at Microsoft inside of cloud and Ai and uh
5:31
Microsoft inside of cloud and Ai and uh
5:31
Microsoft inside of cloud and Ai and uh basically these days my focus is around
5:33
basically these days my focus is around
5:34
basically these days my focus is around helping students get up and running with
5:36
helping students get up and running with
5:36
helping students get up and running with writing code get up and running with
5:38
writing code get up and running with
5:38
writing code get up and running with Azure um Etc which is just it's it's
5:41
Azure um Etc which is just it's it's
5:41
Azure um Etc which is just it's it's it's a lot of fun because then I get to
5:44
it's a lot of fun because then I get to
5:44
it's a lot of fun because then I get to empower other people I get to uh to give
5:46
empower other people I get to uh to give
5:46
empower other people I get to uh to give back to uh to the community um I've been
5:49
back to uh to the community um I've been
5:49
back to uh to the community um I've been writing code for uh a very long time I
5:52
writing code for uh a very long time I
5:52
writing code for uh a very long time I got started back when my father brought
5:54
got started back when my father brought
5:54
got started back when my father brought home a uh an early early early personal
5:58
home a uh an early early early personal
5:58
home a uh an early early early personal computer playing some games and then it
6:00
computer playing some games and then it
6:00
computer playing some games and then it just sort of launched launched a career
6:02
just sort of launched launched a career
6:02
just sort of launched launched a career from
6:04
from
6:04
from there that's great and I think um yeah
6:07
there that's great and I think um yeah
6:07
there that's great and I think um yeah you really had a long journey right you
6:09
you really had a long journey right you
6:09
you really had a long journey right you have literally reached out to millions
6:11
have literally reached out to millions
6:11
have literally reached out to millions of people through different mediums you
6:13
of people through different mediums you
6:13
of people through different mediums you have been doing the live shows when no
6:14
have been doing the live shows when no
6:14
have been doing the live shows when no one really did it right we still know
6:17
one really did it right we still know
6:17
one really did it right we still know that yeah yeah this is yeah this is true
6:20
that yeah yeah this is yeah this is true
6:20
that yeah yeah this is yeah this is true yeah MVA was um it was it was really
6:24
yeah MVA was um it was it was really
6:24
yeah MVA was um it was it was really groundbreaking um I I definitely miss it
6:27
groundbreaking um I I definitely miss it
6:27
groundbreaking um I I definitely miss it but yeah we were we were really the
6:29
but yeah we were we were really the
6:29
but yeah we were we were really the first um getting out there doing live
6:32
first um getting out there doing live
6:32
first um getting out there doing live broadcasts um and also just allowing for
6:35
broadcasts um and also just allowing for
6:35
broadcasts um and also just allowing for um for interaction like uh you know
6:38
um for interaction like uh you know
6:38
um for interaction like uh you know obviously YouTube was there and uh and
6:40
obviously YouTube was there and uh and
6:40
obviously YouTube was there and uh and so forth but um uh but you know this was
6:44
so forth but um uh but you know this was
6:44
so forth but um uh but you know this was this was still very much on that on that
6:46
this was still very much on that on that
6:46
this was still very much on that on that early um on those early days so yeah it
6:49
early um on those early days so yeah it
6:49
early um on those early days so yeah it was it was a wonderful experience and
6:51
was it was a wonderful experience and
6:51
was it was a wonderful experience and and I'm glad that it was able to to to
6:53
and I'm glad that it was able to to to
6:53
and I'm glad that it was able to to to help so many people and people like
6:54
help so many people and people like
6:54
help so many people and people like yourself so love love to see the the
6:57
yourself so love love to see the the
6:57
yourself so love love to see the the love to the there yeah
7:00
love to the there yeah
7:00
love to the there yeah yeah I think a couple of very seniors
7:01
yeah I think a couple of very seniors
7:01
yeah I think a couple of very seniors people joining us I don't know what big
7:03
people joining us I don't know what big
7:03
people joining us I don't know what big 20 is I only started with the Windows XP
7:07
20 is I only started with the Windows XP
7:07
20 is I only started with the Windows XP and Intel processor so I don't know
7:10
and Intel processor so I don't know
7:10
and Intel processor so I don't know about what is Big
7:12
about what is Big
7:12
about what is Big 20 it's an old old old computer it was
7:15
20 it's an old old old computer it was
7:15
20 it's an old old old computer it was like the the the the the keyboard and
7:17
like the the the the the keyboard and
7:17
like the the the the the keyboard and everything it was the whole device and
7:20
everything it was the whole device and
7:20
everything it was the whole device and it was this this really old system with
7:22
it was this this really old system with
7:22
it was this this really old system with like two little metal prongs that you
7:24
like two little metal prongs that you
7:24
like two little metal prongs that you hooked into the back of your TV and that
7:26
hooked into the back of your TV and that
7:26
hooked into the back of your TV and that then acted as your uh as your monitor so
7:30
then acted as your uh as your monitor so
7:30
then acted as your uh as your monitor so yeah must have been exciting to have
7:32
yeah must have been exciting to have
7:32
yeah must have been exciting to have that home a very big machine
7:34
that home a very big machine
7:34
that home a very big machine right yeah it was it was I mean it was
7:37
right yeah it was it was I mean it was
7:37
right yeah it was it was I mean it was definitely um it was definitely an
7:39
definitely um it was definitely an
7:39
definitely um it was definitely an experience and and it it also I mean it
7:43
experience and and it it also I mean it
7:43
experience and and it it also I mean it it helped me because then it gave me
7:45
it helped me because then it gave me
7:45
it helped me because then it gave me that early access to computers um which
7:47
that early access to computers um which
7:47
that early access to computers um which is also then in turn why I'm such a big
7:49
is also then in turn why I'm such a big
7:49
is also then in turn why I'm such a big believer in making sure that that that
7:52
believer in making sure that that that
7:52
believer in making sure that that that kids have that that early exposure into
7:55
kids have that that early exposure into
7:55
kids have that that early exposure into technology um because it makes such a
7:58
technology um because it makes such a
7:58
technology um because it makes such a huge difference
8:00
huge difference
8:00
huge difference um in um in their lives and like you
8:02
um in um in their lives and like you
8:02
um in um in their lives and like you were mentioning um earlier about the the
8:05
were mentioning um earlier about the the
8:05
were mentioning um earlier about the the pandemic and and and the prolifer
8:07
pandemic and and and the prolifer
8:07
pandemic and and and the prolifer proliferation of of video content like
8:10
proliferation of of video content like
8:10
proliferation of of video content like this is actually really I think one of
8:11
this is actually really I think one of
8:11
this is actually really I think one of the great things that's that's come out
8:13
the great things that's that's come out
8:13
the great things that's that's come out of of an otherwise awful situation is
8:17
of of an otherwise awful situation is
8:17
of of an otherwise awful situation is the fact that there is now all of this
8:18
the fact that there is now all of this
8:18
the fact that there is now all of this video content so um if if you have an
8:21
video content so um if if you have an
8:21
video content so um if if you have an internet connection then you're able to
8:24
internet connection then you're able to
8:24
internet connection then you're able to um consume all of this all of this great
8:26
um consume all of this all of this great
8:27
um consume all of this all of this great content that's that's in there and just
8:28
content that's that's in there and just
8:28
content that's that's in there and just continue grow yourself yeah you really
8:31
continue grow yourself yeah you really
8:31
continue grow yourself yeah you really mentioned about the internet CST I would
8:33
mentioned about the internet CST I would
8:33
mentioned about the internet CST I would really agree on that that internet now
8:35
really agree on that that internet now
8:35
really agree on that that internet now act as a neutralizer you need not be in
8:38
act as a neutralizer you need not be in
8:38
act as a neutralizer you need not be in the Silicon Valley United States if you
8:40
the Silicon Valley United States if you
8:40
the Silicon Valley United States if you have access to the internet everything
8:41
have access to the internet everything
8:42
have access to the internet everything is available uh it doesn't matter you
8:44
is available uh it doesn't matter you
8:44
is available uh it doesn't matter you have to be in the Silicon Valley or any
8:45
have to be in the Silicon Valley or any
8:45
have to be in the Silicon Valley or any of your maybe a garage maybe right uh
8:50
of your maybe a garage maybe right uh
8:50
of your maybe a garage maybe right uh yes the opportunities are all same now
8:53
yes the opportunities are all same now
8:53
yes the opportunities are all same now and I think this is something uh great
8:56
and I think this is something uh great
8:56
and I think this is something uh great and today we are live on internet yes
9:01
and today we are live on internet yes
9:01
and today we are live on internet yes right so Christopher going ahead what
9:03
right so Christopher going ahead what
9:03
right so Christopher going ahead what are we actually talking in the live sh
9:05
are we actually talking in the live sh
9:05
are we actually talking in the live sh today I know on the banner he say typing
9:07
today I know on the banner he say typing
9:07
today I know on the banner he say typing with typ scrip but but just to give an
9:10
with typ scrip but but just to give an
9:10
with typ scrip but but just to give an overview on what we are going to discuss
9:12
overview on what we are going to discuss
9:12
overview on what we are going to discuss today and what is the end goal of this
9:15
today and what is the end goal of this
9:15
today and what is the end goal of this live show yeah absolutely so I I'm
9:17
live show yeah absolutely so I I'm
9:17
live show yeah absolutely so I I'm calling this typing with typescript
9:19
calling this typing with typescript
9:19
calling this typing with typescript mostly just for for the little bit of of
9:21
mostly just for for the little bit of of
9:21
mostly just for for the little bit of of uh of play on on Words there um but um
9:25
uh of play on on Words there um but um
9:25
uh of play on on Words there um but um uh but typescript is a um in a nutshell
9:29
uh but typescript is a um in a nutshell
9:29
uh but typescript is a um in a nutshell it's a super set of of JavaScript and uh
9:34
it's a super set of of JavaScript and uh
9:34
it's a super set of of JavaScript and uh the the reason that typescript exists is
9:36
the the reason that typescript exists is
9:36
the the reason that typescript exists is it's there to help make it easier for
9:40
it's there to help make it easier for
9:40
it's there to help make it easier for you to write JavaScript and that's
9:42
you to write JavaScript and that's
9:43
you to write JavaScript and that's that's one big thing that I always like
9:44
that's one big thing that I always like
9:44
that's one big thing that I always like to call out right from the start is that
9:46
to call out right from the start is that
9:46
to call out right from the start is that you are going to be writing um
9:48
you are going to be writing um
9:48
you are going to be writing um JavaScript when you're using typescript
9:50
JavaScript when you're using typescript
9:50
JavaScript when you're using typescript but what typescript is going to do is
9:52
but what typescript is going to do is
9:52
but what typescript is going to do is it's going to help you overcome some of
9:54
it's going to help you overcome some of
9:54
it's going to help you overcome some of the quirks that uh that that that
9:56
the quirks that uh that that that
9:57
the quirks that uh that that that JavaScript has it's going to give you
9:59
JavaScript has it's going to give you
9:59
JavaScript has it's going to give you the ability to take advantage of
10:02
the ability to take advantage of
10:02
the ability to take advantage of features that aren't necessarily in all
10:05
features that aren't necessarily in all
10:05
features that aren't necessarily in all versions of JavaScript depending on
10:07
versions of JavaScript depending on
10:07
versions of JavaScript depending on where it is that um uh that that it
10:10
where it is that um uh that that it
10:10
where it is that um uh that that it happens to be be running and then it
10:12
happens to be be running and then it
10:12
happens to be be running and then it also brings a lot of the different
10:14
also brings a lot of the different
10:14
also brings a lot of the different things that you'll see in other
10:16
things that you'll see in other
10:16
things that you'll see in other programming languages like
10:18
programming languages like
10:18
programming languages like object-oriented um or interfaces or
10:21
object-oriented um or interfaces or
10:21
object-oriented um or interfaces or other things into that that JavaScript
10:24
other things into that that JavaScript
10:24
other things into that that JavaScript World um because again you know
10:26
World um because again you know
10:26
World um because again you know javascript's just not really built for
10:29
javascript's just not really built for
10:29
javascript's just not really built for um for for that and so typescript then
10:31
um for for that and so typescript then
10:31
um for for that and so typescript then brings that uh brings that in so in a
10:33
brings that uh brings that in so in a
10:33
brings that uh brings that in so in a nutshell that's that's what typescript
10:35
nutshell that's that's what typescript
10:35
nutshell that's that's what typescript is and that's really then what what we
10:37
is and that's really then what what we
10:37
is and that's really then what what we want to explore is is how to get up and
10:40
want to explore is is how to get up and
10:40
want to explore is is how to get up and running in uh in typescript and some of
10:42
running in uh in typescript and some of
10:42
running in uh in typescript and some of the common um features that you'll be
10:44
the common um features that you'll be
10:45
the common um features that you'll be taking advantage of uh it sounds really
10:48
taking advantage of uh it sounds really
10:48
taking advantage of uh it sounds really interesting when you say TI scripts is a
10:50
interesting when you say TI scripts is a
10:50
interesting when you say TI scripts is a superet of JavaScript right because
10:51
superet of JavaScript right because
10:51
superet of JavaScript right because JavaScript was already there and TPT has
10:53
JavaScript was already there and TPT has
10:53
JavaScript was already there and TPT has recently come but you still say that TPT
10:56
recently come but you still say that TPT
10:56
recently come but you still say that TPT is a super set of JavaScript so there
10:58
is a super set of JavaScript so there
10:58
is a super set of JavaScript so there must be really interesting features that
11:01
must be really interesting features that
11:01
must be really interesting features that makes it this possible to say that hey
11:03
makes it this possible to say that hey
11:03
makes it this possible to say that hey typescript is the super set because
11:04
typescript is the super set because
11:04
typescript is the super set because eventually if you're using JavaScript it
11:06
eventually if you're using JavaScript it
11:06
eventually if you're using JavaScript it should be the subset of JavaScript right
11:10
should be the subset of JavaScript right
11:10
should be the subset of JavaScript right but I don't know why this is termed as a
11:13
but I don't know why this is termed as a
11:13
but I don't know why this is termed as a superscript maybe you will yeah yeah I I
11:16
superscript maybe you will yeah yeah I I
11:16
superscript maybe you will yeah yeah I I I can actually I can answer that real
11:18
I can actually I can answer that real
11:18
I can actually I can answer that real quick that that you know typescript is
11:20
quick that that you know typescript is
11:20
quick that that you know typescript is built on top of javascripts um um it's
11:23
built on top of javascripts um um it's
11:23
built on top of javascripts um um it's built on on top of JavaScript syntax so
11:26
built on on top of JavaScript syntax so
11:26
built on on top of JavaScript syntax so that if you know JavaScript you actually
11:28
that if you know JavaScript you actually
11:28
that if you know JavaScript you actually already know probably about like 70% of
11:32
already know probably about like 70% of
11:32
already know probably about like 70% of typescript um and so it's a very natural
11:35
typescript um and so it's a very natural
11:35
typescript um and so it's a very natural transition for JavaScript developer to
11:37
transition for JavaScript developer to
11:37
transition for JavaScript developer to get into into typescript now I'll I'll
11:39
get into into typescript now I'll I'll
11:39
get into into typescript now I'll I'll say that if you've done say Java or C
11:42
say that if you've done say Java or C
11:42
say that if you've done say Java or C it's going to be an even more natural
11:44
it's going to be an even more natural
11:44
it's going to be an even more natural transition but um the great thing is is
11:47
transition but um the great thing is is
11:47
transition but um the great thing is is that a lot of what you already know with
11:49
that a lot of what you already know with
11:49
that a lot of what you already know with with JavaScript um is absolutely going
11:51
with JavaScript um is absolutely going
11:51
with JavaScript um is absolutely going to apply with uh with with typescript um
11:54
to apply with uh with with typescript um
11:54
to apply with uh with with typescript um and I do want to answer the the question
11:56
and I do want to answer the the question
11:56
and I do want to answer the the question that uh that Krishna had asked um about
11:58
that uh that Krishna had asked um about
11:58
that uh that Krishna had asked um about um um if it can be used to to debug in
12:02
um um if it can be used to to debug in
12:02
um um if it can be used to to debug in developer tools and the answer to that
12:03
developer tools and the answer to that
12:03
developer tools and the answer to that is 100% yes that that you can um
12:07
is 100% yes that that you can um
12:07
is 100% yes that that you can um actually walk through your typescript
12:10
actually walk through your typescript
12:10
actually walk through your typescript much in the same way that you would walk
12:11
much in the same way that you would walk
12:11
much in the same way that you would walk through your JavaScript there's a couple
12:13
through your JavaScript there's a couple
12:13
through your JavaScript there's a couple little things that you have to do for a
12:14
little things that you have to do for a
12:14
little things that you have to do for a setup which we'll talk about but uh you
12:16
setup which we'll talk about but uh you
12:16
setup which we'll talk about but uh you can absolutely do
12:19
that that that's amazing I think we had
12:22
that that that's amazing I think we had
12:22
that that that's amazing I think we had a very good St allly questions coming in
12:24
a very good St allly questions coming in
12:24
a very good St allly questions coming in and uh pretty interesting tyu sounds
12:27
and uh pretty interesting tyu sounds
12:27
and uh pretty interesting tyu sounds pretty interesting and uh let's go ahead
12:29
pretty interesting and uh let's go ahead
12:29
pretty interesting and uh let's go ahead Christopher you want me to share your
12:31
Christopher you want me to share your
12:31
Christopher you want me to share your screen and let's get started yeah
12:33
screen and let's get started yeah
12:33
screen and let's get started yeah absolutely let's let's go ahead and do
12:35
absolutely let's let's go ahead and do
12:35
absolutely let's let's go ahead and do it so um I've got just a couple of
12:38
it so um I've got just a couple of
12:38
it so um I've got just a couple of slides here um that um uh that that
12:41
slides here um that um uh that that
12:41
slides here um that um uh that that we'll use to get started so if you want
12:42
we'll use to get started so if you want
12:42
we'll use to get started so if you want to throw those up that's uh that's
12:44
to throw those up that's uh that's
12:44
to throw those up that's uh that's perfect I think I've got my yeah there
12:45
perfect I think I've got my yeah there
12:45
perfect I think I've got my yeah there we go perfect yeah so let's uh let's go
12:48
we go perfect yeah so let's uh let's go
12:48
we go perfect yeah so let's uh let's go ahead and talk about uh about typing
12:50
ahead and talk about uh about typing
12:50
ahead and talk about uh about typing with h with typescripts so as I already
12:53
with h with typescripts so as I already
12:53
with h with typescripts so as I already mentioned um typescript is a super set
12:57
mentioned um typescript is a super set
12:57
mentioned um typescript is a super set of uh of JavaScript which then begs this
13:00
of uh of JavaScript which then begs this
13:00
of uh of JavaScript which then begs this question which what is Javascript anyway
13:04
question which what is Javascript anyway
13:04
question which what is Javascript anyway and the answer to that question is I I'm
13:07
and the answer to that question is I I'm
13:07
and the answer to that question is I I'm honestly not sure I I don't know what
13:09
honestly not sure I I don't know what
13:09
honestly not sure I I don't know what JavaScript is okay I'm kidding um well
13:12
JavaScript is okay I'm kidding um well
13:12
JavaScript is okay I'm kidding um well I'm mostly kidding uh I I obviously know
13:15
I'm mostly kidding uh I I obviously know
13:15
I'm mostly kidding uh I I obviously know what JavaScript is but the the challenge
13:18
what JavaScript is but the the challenge
13:18
what JavaScript is but the the challenge that we wind up having with JavaScript
13:21
that we wind up having with JavaScript
13:21
that we wind up having with JavaScript is the fact that JavaScript is very
13:23
is the fact that JavaScript is very
13:23
is the fact that JavaScript is very dependent on on the engine um that
13:27
dependent on on the engine um that
13:27
dependent on on the engine um that JavaScript of course is an inter
13:29
JavaScript of course is an inter
13:29
JavaScript of course is an inter language much like say python but unlike
13:32
language much like say python but unlike
13:32
language much like say python but unlike python where you really only have like a
13:35
python where you really only have like a
13:35
python where you really only have like a couple of core engines and for the most
13:38
couple of core engines and for the most
13:38
couple of core engines and for the most part they behave the same so that I can
13:40
part they behave the same so that I can
13:40
part they behave the same so that I can take my python code and I can
13:42
take my python code and I can
13:42
take my python code and I can effectively run it anywhere JavaScript
13:45
effectively run it anywhere JavaScript
13:45
effectively run it anywhere JavaScript is very much not like that that um I'm
13:48
is very much not like that that um I'm
13:48
is very much not like that that um I'm going to run this in node I'm going to
13:49
going to run this in node I'm going to
13:49
going to run this in node I'm going to run this in the browser how it's going
13:51
run this in the browser how it's going
13:51
run this in the browser how it's going to behave and in the browser how it's
13:53
to behave and in the browser how it's
13:53
to behave and in the browser how it's going to behave in in different browsers
13:57
going to behave in in different browsers
13:57
going to behave in in different browsers um is going to vary um how it dep how it
14:00
um is going to vary um how it dep how it
14:00
um is going to vary um how it dep how it behaves in different versions of node is
14:03
behaves in different versions of node is
14:03
behaves in different versions of node is going to vary so it becomes very
14:06
going to vary so it becomes very
14:06
going to vary so it becomes very confusing um as to exactly what
14:09
confusing um as to exactly what
14:09
confusing um as to exactly what JavaScript is and then when we couple
14:12
JavaScript is and then when we couple
14:12
JavaScript is and then when we couple that with the fact
14:14
that with the fact
14:14
that with the fact that um you're going to be using this in
14:16
that um you're going to be using this in
14:16
that um you're going to be using this in very different environments and what
14:19
very different environments and what
14:19
very different environments and what you're going to have access to is going
14:21
you're going to have access to is going
14:21
you're going to have access to is going to vary wildly it's going to um really
14:25
to vary wildly it's going to um really
14:25
to vary wildly it's going to um really be very
14:26
be very
14:26
be very confusing um when when when you're
14:29
confusing um when when when you're
14:29
confusing um when when when you're writing um JavaScript and and when we
14:32
writing um JavaScript and and when we
14:32
writing um JavaScript and and when we add all of that to the fact that
14:35
add all of that to the fact that
14:35
add all of that to the fact that JavaScript really wasn't built for what
14:38
JavaScript really wasn't built for what
14:38
JavaScript really wasn't built for what it is that that we're doing with it
14:40
it is that that we're doing with it
14:40
it is that that we're doing with it these days it makes it even more
14:43
these days it makes it even more
14:43
these days it makes it even more confusing that you know JavaScript after
14:45
confusing that you know JavaScript after
14:45
confusing that you know JavaScript after all was built over a couple of three
14:47
all was built over a couple of three
14:47
all was built over a couple of three days um and it really was designed to
14:50
days um and it really was designed to
14:50
days um and it really was designed to run inside of a browser and do like some
14:53
run inside of a browser and do like some
14:53
run inside of a browser and do like some basic um interaction inside of there it
14:56
basic um interaction inside of there it
14:56
basic um interaction inside of there it was not designed for these Enterprise
14:59
was not designed for these Enterprise
14:59
was not designed for these Enterprise applications that that that we're now
15:01
applications that that that we're now
15:01
applications that that that we're now building um um with it and and so this
15:05
building um um with it and and so this
15:05
building um um with it and and so this has led to a lot of of different
15:07
has led to a lot of of different
15:07
has led to a lot of of different challenges it's led to a lot of uh of of
15:11
challenges it's led to a lot of uh of of
15:11
challenges it's led to a lot of uh of of different quirks and so developing in in
15:14
different quirks and so developing in in
15:14
different quirks and so developing in in JavaScript isn't always as as great of
15:17
JavaScript isn't always as as great of
15:17
JavaScript isn't always as as great of an experience as uh as it could be and
15:21
an experience as uh as it could be and
15:21
an experience as uh as it could be and so this is really then where typescript
15:24
so this is really then where typescript
15:24
so this is really then where typescript um comes into play so typescript was
15:28
um comes into play so typescript was
15:28
um comes into play so typescript was devel by um Anders heiselberg um who is
15:33
devel by um Anders heiselberg um who is
15:33
devel by um Anders heiselberg um who is a technical fellow at Microsoft and has
15:36
a technical fellow at Microsoft and has
15:36
a technical fellow at Microsoft and has a a a a a very long history of creating
15:41
a a a a a very long history of creating
15:41
a a a a a very long history of creating programming languages that he created
15:43
programming languages that he created
15:43
programming languages that he created Deli he created c um both of which were
15:48
Deli he created c um both of which were
15:48
Deli he created c um both of which were um and are extremely popular um
15:51
um and are extremely popular um
15:51
um and are extremely popular um programming languages and then he also
15:54
programming languages and then he also
15:54
programming languages and then he also created um um typescript so typescript
15:59
created um um typescript so typescript
15:59
created um um typescript so typescript is a super set of of JavaScript and I
16:02
is a super set of of JavaScript and I
16:02
is a super set of of JavaScript and I and I highlighted already the fact that
16:04
and I highlighted already the fact that
16:05
and I highlighted already the fact that um about like 70% or so of the syntax of
16:07
um about like 70% or so of the syntax of
16:07
um about like 70% or so of the syntax of typescript is shared by JavaScript so if
16:11
typescript is shared by JavaScript so if
16:11
typescript is shared by JavaScript so if you're going to be making this
16:13
you're going to be making this
16:13
you're going to be making this transition it's going to be a relatively
16:16
transition it's going to be a relatively
16:16
transition it's going to be a relatively natural transition for you now one big
16:19
natural transition for you now one big
16:19
natural transition for you now one big thing to keep in mind is the fact that
16:22
thing to keep in mind is the fact that
16:22
thing to keep in mind is the fact that when you're writing typescript you're
16:25
when you're writing typescript you're
16:25
when you're writing typescript you're writing
16:27
writing
16:27
writing JavaScript so you do not need any
16:30
JavaScript so you do not need any
16:30
JavaScript so you do not need any special engine you do not need um a
16:33
special engine you do not need um a
16:33
special engine you do not need um a special plugin for a browser you do not
16:36
special plugin for a browser you do not
16:36
special plugin for a browser you do not need a different version of node or
16:39
need a different version of node or
16:39
need a different version of node or anything like that that typescript when
16:42
anything like that that typescript when
16:42
anything like that that typescript when you write in typescript it's not the
16:45
you write in typescript it's not the
16:45
you write in typescript it's not the typescript that gets
16:47
typescript that gets
16:47
typescript that gets executed what's going to happen instead
16:49
executed what's going to happen instead
16:50
executed what's going to happen instead is it's going to compile or trans
16:53
is it's going to compile or trans
16:53
is it's going to compile or trans compile or simply transpile as the cool
16:57
compile or simply transpile as the cool
16:57
compile or simply transpile as the cool kids call it into JavaScript so at the
17:01
kids call it into JavaScript so at the
17:01
kids call it into JavaScript so at the end of the day you're you're writing
17:04
end of the day you're you're writing
17:04
end of the day you're you're writing JavaScript that the the best analogy
17:06
JavaScript that the the best analogy
17:06
JavaScript that the the best analogy that I can give you is if you think for
17:08
that I can give you is if you think for
17:08
that I can give you is if you think for example about like Java that when you
17:11
example about like Java that when you
17:11
example about like Java that when you write Java it's not the Java that's
17:13
write Java it's not the Java that's
17:13
write Java it's not the Java that's being executed Java is being compiled
17:16
being executed Java is being compiled
17:16
being executed Java is being compiled into bite code and it's the bite code
17:19
into bite code and it's the bite code
17:19
into bite code and it's the bite code that's executing or to go with a c
17:21
that's executing or to go with a c
17:21
that's executing or to go with a c analogy that when you write C it's not
17:24
analogy that when you write C it's not
17:24
analogy that when you write C it's not the C that's executed it's going to get
17:26
the C that's executed it's going to get
17:26
the C that's executed it's going to get compiled into uh Microsoft Intermediate
17:29
compiled into uh Microsoft Intermediate
17:30
compiled into uh Microsoft Intermediate Language or ilil or or missile code um I
17:33
Language or ilil or or missile code um I
17:33
Language or ilil or or missile code um I was like being able to say missile code
17:35
was like being able to say missile code
17:35
was like being able to say missile code um but it it uh compiles down into
17:38
um but it it uh compiles down into
17:38
um but it it uh compiles down into missile code and it's the missile code
17:40
missile code and it's the missile code
17:40
missile code and it's the missile code that's going to um to to execute so it's
17:43
that's going to um to to execute so it's
17:43
that's going to um to to execute so it's that same exact thing here that it's
17:46
that same exact thing here that it's
17:46
that same exact thing here that it's going to be the JavaScript that's going
17:49
going to be the JavaScript that's going
17:49
going to be the JavaScript that's going to be executing so it's going to take
17:50
to be executing so it's going to take
17:50
to be executing so it's going to take your typescript and it's going to
17:52
your typescript and it's going to
17:52
your typescript and it's going to compile this down or transpile this down
17:54
compile this down or transpile this down
17:54
compile this down or transpile this down into um into JavaScript and what we're
17:58
into um into JavaScript and what we're
17:58
into um into JavaScript and what we're going to see by writing typescript is
18:02
going to see by writing typescript is
18:02
going to see by writing typescript is that it's going to give us more power
18:05
that it's going to give us more power
18:05
that it's going to give us more power it's going to give us more functionality
18:08
it's going to give us more functionality
18:08
it's going to give us more functionality and it's also going to catch a lot of
18:11
and it's also going to catch a lot of
18:11
and it's also going to catch a lot of the little things that JavaScript isn't
18:14
the little things that JavaScript isn't
18:14
the little things that JavaScript isn't necessarily going to catch for us um
18:17
necessarily going to catch for us um
18:17
necessarily going to catch for us um it's going to allow us to manage some of
18:20
it's going to allow us to manage some of
18:20
it's going to allow us to manage some of the the little
18:22
the the little
18:22
the the little idiosyncrasies of uh of JavaScript but
18:24
idiosyncrasies of uh of JavaScript but
18:24
idiosyncrasies of uh of JavaScript but it's also going to help us avoid some of
18:28
it's also going to help us avoid some of
18:28
it's also going to help us avoid some of the the challenges that we're GNA have
18:30
the the challenges that we're GNA have
18:30
the the challenges that we're GNA have when we're say um you know running on
18:33
when we're say um you know running on
18:33
when we're say um you know running on different versions of node or different
18:35
different versions of node or different
18:36
different versions of node or different versions of of ecmascript that we're
18:38
versions of of ecmascript that we're
18:38
versions of of ecmascript that we're going to be able to write our code
18:40
going to be able to write our code
18:40
going to be able to write our code knowing that this code will always work
18:42
knowing that this code will always work
18:42
knowing that this code will always work we'll transpile it then down into the
18:45
we'll transpile it then down into the
18:45
we'll transpile it then down into the appropriate version of JavaScript
18:47
appropriate version of JavaScript
18:47
appropriate version of JavaScript knowing that now this is going to work
18:49
knowing that now this is going to work
18:49
knowing that now this is going to work so we get um more power we get more
18:53
so we get um more power we get more
18:53
so we get um more power we get more functionality and we're then freed from
18:57
functionality and we're then freed from
18:57
functionality and we're then freed from having to remember oh okay well what
18:59
having to remember oh okay well what
18:59
having to remember oh okay well what version of JavaScript am I using what's
19:01
version of JavaScript am I using what's
19:01
version of JavaScript am I using what's being supported here what's being
19:03
being supported here what's being
19:03
being supported here what's being supported there Etc that I can just
19:05
supported there Etc that I can just
19:05
supported there Etc that I can just write my typescript and not have to
19:07
write my typescript and not have to
19:07
write my typescript and not have to worry about any of that that's going on
19:10
worry about any of that that's going on
19:10
worry about any of that that's going on uh behind the scenes so that's what
19:12
uh behind the scenes so that's what
19:13
uh behind the scenes so that's what typescript is uh is all about here so
19:16
typescript is uh is all about here so
19:16
typescript is uh is all about here so why use it and I think I've basically um
19:18
why use it and I think I've basically um
19:19
why use it and I think I've basically um highlighted all of this that it gives us
19:21
highlighted all of this that it gives us
19:21
highlighted all of this that it gives us better type support it can help us
19:23
better type support it can help us
19:23
better type support it can help us detect common mistakes helps overcome
19:25
detect common mistakes helps overcome
19:25
detect common mistakes helps overcome some of javascript's quirks and
19:27
some of javascript's quirks and
19:27
some of javascript's quirks and inconsistent IES um
19:30
inconsistent IES um
19:30
inconsistent IES um and um it allows us to use modern
19:33
and um it allows us to use modern
19:33
and um it allows us to use modern features in um in older versions of um
19:38
features in um in older versions of um
19:38
features in um in older versions of um uh of JavaScript so um there there's a
19:41
uh of JavaScript so um there there's a
19:41
uh of JavaScript so um there there's a question that popped in from um um from
19:43
question that popped in from um um from
19:43
question that popped in from um um from John there um can you implement common
19:45
John there um can you implement common
19:46
John there um can you implement common patterns you're familiar with in C like
19:48
patterns you're familiar with in C like
19:48
patterns you're familiar with in C like um inversion of of
19:50
um inversion of of
19:50
um inversion of of control and the the the short answer to
19:53
control and the the the short answer to
19:53
control and the the the short answer to that question is yes but um so you
19:58
that question is yes but um so you
19:58
that question is yes but um so you absolutely can Implement a lot of common
20:01
absolutely can Implement a lot of common
20:01
absolutely can Implement a lot of common patterns that you might be using in
20:04
patterns that you might be using in
20:04
patterns that you might be using in other um objectoriented languages in
20:06
other um objectoriented languages in
20:06
other um objectoriented languages in other um in other platforms but one of
20:09
other um in other platforms but one of
20:09
other um in other platforms but one of the challenges that you are still going
20:11
the challenges that you are still going
20:11
the challenges that you are still going to face is the fact that you are going
20:14
to face is the fact that you are going
20:14
to face is the fact that you are going to be running this say inside of a
20:16
to be running this say inside of a
20:16
to be running this say inside of a browser you are going to be running this
20:18
browser you are going to be running this
20:18
browser you are going to be running this say inside of of node so you are still a
20:22
say inside of of node so you are still a
20:22
say inside of of node so you are still a little bit constrained by that runtime
20:24
little bit constrained by that runtime
20:24
little bit constrained by that runtime environment so when you're talking about
20:26
environment so when you're talking about
20:26
environment so when you're talking about for example something like uh dependency
20:28
for example something like uh dependency
20:28
for example something like uh dependency injection um dependency injection is
20:31
injection um dependency injection is
20:31
injection um dependency injection is very neat inside of C it's sort of
20:35
very neat inside of C it's sort of
20:35
very neat inside of C it's sort of clunky because it's not really a concept
20:38
clunky because it's not really a concept
20:38
clunky because it's not really a concept inside of node to do inside of
20:40
inside of node to do inside of
20:40
inside of node to do inside of typescript so unfortunately you are not
20:43
typescript so unfortunately you are not
20:43
typescript so unfortunately you are not going to necessarily be able to do
20:45
going to necessarily be able to do
20:45
going to necessarily be able to do everything that you could in C simply
20:48
everything that you could in C simply
20:48
everything that you could in C simply because of the environment in which it's
20:50
because of the environment in which it's
20:50
because of the environment in which it's going to run but you are going to notice
20:52
going to run but you are going to notice
20:52
going to run but you are going to notice that you'll get a lot more support for
20:55
that you'll get a lot more support for
20:55
that you'll get a lot more support for those types of patterns and so forth in
20:58
those types of patterns and so forth in
20:58
those types of patterns and so forth in typescript then you
21:13
would okay um cool cool cool um
21:18
would okay um cool cool cool um
21:18
would okay um cool cool cool um typescript is converted into JavaScript
21:20
typescript is converted into JavaScript
21:20
typescript is converted into JavaScript oh yeah so there's a a great question
21:22
oh yeah so there's a a great question
21:22
oh yeah so there's a a great question here so typescript um is converted into
21:25
here so typescript um is converted into
21:25
here so typescript um is converted into JavaScript um so that it can be run in
21:27
JavaScript um so that it can be run in
21:27
JavaScript um so that it can be run in the browser or inside of uh inside of
21:30
the browser or inside of uh inside of
21:30
the browser or inside of uh inside of node um are you able to see um the
21:34
node um are you able to see um the
21:34
node um are you able to see um the typescript are you able to debug so the
21:36
typescript are you able to debug so the
21:36
typescript are you able to debug so the answer to that question is yes and and
21:38
answer to that question is yes and and
21:38
answer to that question is yes and and we'll see that um in uh in a couple of
21:41
we'll see that um in uh in a couple of
21:41
we'll see that um in uh in a couple of minutes here when we get in and start
21:42
minutes here when we get in and start
21:42
minutes here when we get in and start doing some demo um but there's two
21:44
doing some demo um but there's two
21:44
doing some demo um but there's two things that I want to highlight here
21:45
things that I want to highlight here
21:45
things that I want to highlight here number one is um what you're going to do
21:48
number one is um what you're going to do
21:49
number one is um what you're going to do is create what's known as a map file and
21:51
is create what's known as a map file and
21:51
is create what's known as a map file and that basically says hey this line of
21:54
that basically says hey this line of
21:54
that basically says hey this line of emitted JavaScript Maps back to this
21:57
emitted JavaScript Maps back to this
21:57
emitted JavaScript Maps back to this line of typescript so it will act as
22:00
line of typescript so it will act as
22:00
line of typescript so it will act as basically a pointer so then that way the
22:02
basically a pointer so then that way the
22:02
basically a pointer so then that way the debugger knows how to um how to manage
22:05
debugger knows how to um how to manage
22:05
debugger knows how to um how to manage all of that the other thing that I want
22:07
all of that the other thing that I want
22:07
all of that the other thing that I want to highlight here
22:10
to highlight here
22:10
to highlight here because sometimes people will look and
22:12
because sometimes people will look and
22:12
because sometimes people will look and they'll they'll get a little bit
22:14
they'll they'll get a little bit
22:14
they'll they'll get a little bit panicked um is the JavaScript that's
22:18
panicked um is the JavaScript that's
22:18
panicked um is the JavaScript that's going to be output here remember that
22:20
going to be output here remember that
22:20
going to be output here remember that it's going to be JavaScript that's going
22:22
it's going to be JavaScript that's going
22:22
it's going to be JavaScript that's going to be designed to be read by the machine
22:25
to be designed to be read by the machine
22:25
to be designed to be read by the machine not by the human so sometimes espe when
22:28
not by the human so sometimes espe when
22:28
not by the human so sometimes espe when we start doing like async await on older
22:31
we start doing like async await on older
22:31
we start doing like async await on older versions of uh of of JavaScript
22:34
versions of uh of of JavaScript
22:34
versions of uh of of JavaScript ecmascript the the syntax winds up being
22:36
ecmascript the the syntax winds up being
22:36
ecmascript the the syntax winds up being a little bit clunky um don't worry it it
22:39
a little bit clunky um don't worry it it
22:39
a little bit clunky um don't worry it it actually will work and it will actually
22:40
actually will work and it will actually
22:40
actually will work and it will actually work rather performant um it's just
22:43
work rather performant um it's just
22:43
work rather performant um it's just simply that it's being built for a uh
22:47
simply that it's being built for a uh
22:47
simply that it's being built for a uh for a browser or uh sorry uh being built
22:50
for a browser or uh sorry uh being built
22:50
for a browser or uh sorry uh being built for a computer rather than being built
22:52
for a computer rather than being built
22:52
for a computer rather than being built for uh for human
22:55
for uh for human
22:55
for uh for human consumption so cool well I think that's
22:59
consumption so cool well I think that's
22:59
consumption so cool well I think that's sort of a perfect lead in to actually
23:02
sort of a perfect lead in to actually
23:02
sort of a perfect lead in to actually start writing some code and and doing I
23:05
start writing some code and and doing I
23:05
start writing some code and and doing I can't believe we went this long without
23:07
can't believe we went this long without
23:07
can't believe we went this long without you know writing some code here yeah so
23:09
you know writing some code here yeah so
23:09
you know writing some code here yeah so you know C cor is a pure developers and
23:11
you know C cor is a pure developers and
23:11
you know C cor is a pure developers and it professionals communities all the
23:13
it professionals communities all the
23:13
it professionals communities all the people coming here to have a good
23:15
people coming here to have a good
23:15
people coming here to have a good experience like 5 10 25 years of
23:17
experience like 5 10 25 years of
23:17
experience like 5 10 25 years of experience I know John he has already
23:19
experience I know John he has already
23:19
experience I know John he has already been on live show he has over like he
23:21
been on live show he has over like he
23:21
been on live show he has over like he has been at Microsoft for 12 years John
23:23
has been at Microsoft for 12 years John
23:23
has been at Microsoft for 12 years John and he has over like 20 years of
23:25
and he has over like 20 years of
23:25
and he has over like 20 years of experience so that's why there's a lot
23:27
experience so that's why there's a lot
23:27
experience so that's why there's a lot of questions coming and we almost like
23:28
of questions coming and we almost like
23:28
of questions coming and we almost like 23 minutes and still not into the
23:32
demos but I think it's good I mean we've
23:35
demos but I think it's good I mean we've
23:35
demos but I think it's good I mean we've got questions we've got an interative we
23:36
got questions we've got an interative we
23:37
got questions we've got an interative we we've got an Engaged audience here so
23:39
we've got an Engaged audience here so
23:39
we've got an Engaged audience here so yeah yeah I put your screen back yeah
23:43
yeah yeah I put your screen back yeah
23:43
yeah yeah I put your screen back yeah let's let's let's let's start doing
23:44
let's let's let's let's start doing
23:44
let's let's let's let's start doing let's start doing some code here all
23:46
let's start doing some code here all
23:46
let's start doing some code here all right so what I'm gonna do is I'm gonna
23:49
right so what I'm gonna do is I'm gonna
23:49
right so what I'm gonna do is I'm gonna build um a little bit of um of an
23:52
build um a little bit of um of an
23:52
build um a little bit of um of an application here live so first of all
23:55
application here live so first of all
23:55
application here live so first of all what this is going to mean is that um
23:57
what this is going to mean is that um
23:57
what this is going to mean is that um it's very likely that there'll be a
23:59
it's very likely that there'll be a
23:59
it's very likely that there'll be a mistake or a bug somewhere along the way
24:01
mistake or a bug somewhere along the way
24:01
mistake or a bug somewhere along the way please forgive me but it also means that
24:04
please forgive me but it also means that
24:04
please forgive me but it also means that I can Flex sort of as things um as
24:06
I can Flex sort of as things um as
24:07
I can Flex sort of as things um as things come so let's um go ahead and
24:10
things come so let's um go ahead and
24:10
things come so let's um go ahead and start with the um uh the the basics here
24:14
start with the um uh the the basics here
24:14
start with the um uh the the basics here um let's start with hello world because
24:17
um let's start with hello world because
24:17
um let's start with hello world because of course we we have to start with hello
24:19
of course we we have to start with hello
24:19
of course we we have to start with hello world it's it's it's a rule right yeah
24:23
world it's it's it's a rule right yeah
24:23
world it's it's it's a rule right yeah Christopher do you remember Koso app
24:24
Christopher do you remember Koso app
24:25
Christopher do you remember Koso app from the old days oh yeah
24:29
from the old days oh yeah
24:29
from the old days oh yeah yep exactly yeah it's just we're
24:31
yep exactly yeah it's just we're
24:31
yep exactly yeah it's just we're required to do it so yeah
24:33
required to do it so yeah
24:33
required to do it so yeah here here is hello world and the big
24:36
here here is hello world and the big
24:36
here here is hello world and the big thing that I want to highlight about
24:37
thing that I want to highlight about
24:38
thing that I want to highlight about hello world is uh is is this is um
24:42
hello world is uh is is this is um
24:42
hello world is uh is is this is um you're going to notice that I'm on a
24:44
you're going to notice that I'm on a
24:44
you're going to notice that I'm on a typescript file here so just simply um
24:47
typescript file here so just simply um
24:47
typescript file here so just simply um an extension of TS um this by the way is
24:51
an extension of TS um this by the way is
24:51
an extension of TS um this by the way is an empty folder um so I haven't done
24:54
an empty folder um so I haven't done
24:54
an empty folder um so I haven't done anything at all in here all that I've
24:56
anything at all in here all that I've
24:56
anything at all in here all that I've done is created a file called it demo.
24:59
done is created a file called it demo.
24:59
done is created a file called it demo. TS and and that's it so that's this is
25:01
TS and and that's it so that's this is
25:01
TS and and that's it so that's this is all that I've all that I've done here
25:03
all that I've all that I've done here
25:03
all that I've all that I've done here now what I want to highlight is this
25:06
now what I want to highlight is this
25:06
now what I want to highlight is this fact right here everybody in here that's
25:09
fact right here everybody in here that's
25:09
fact right here everybody in here that's done
25:11
done
25:11
done JavaScript knows what that line of code
25:13
JavaScript knows what that line of code
25:13
JavaScript knows what that line of code is and this is exactly the point that I
25:16
is and this is exactly the point that I
25:16
is and this is exactly the point that I was making earlier that a lot of that
25:19
was making earlier that a lot of that
25:19
was making earlier that a lot of that typescript code is Javascript so this
25:21
typescript code is Javascript so this
25:21
typescript code is Javascript so this will feel very natural for you um and in
25:25
will feel very natural for you um and in
25:25
will feel very natural for you um and in fact if I if I rename this
25:28
fact if I if I rename this
25:28
fact if I if I rename this um to be
25:29
um to be
25:29
um to be .js and I went ahead and I said node
25:34
.js and I went ahead and I said node
25:34
.js and I went ahead and I said node demo. js of course that's going to run
25:37
demo. js of course that's going to run
25:37
demo. js of course that's going to run just fine now the the catch though is
25:41
just fine now the the catch though is
25:41
just fine now the the catch though is this is going to be typescript and when
25:44
this is going to be typescript and when
25:44
this is going to be typescript and when we're doing
25:45
we're doing
25:45
we're doing typescript what we need to do is we do
25:48
typescript what we need to do is we do
25:48
typescript what we need to do is we do need to convert this into JavaScript
25:51
need to convert this into JavaScript
25:51
need to convert this into JavaScript even though um we're right now not doing
25:55
even though um we're right now not doing
25:55
even though um we're right now not doing anything um I at least want to start to
25:58
anything um I at least want to start to
25:58
anything um I at least want to start to highlight this concept of converting
26:00
highlight this concept of converting
26:00
highlight this concept of converting this into um converting this into
26:03
this into um converting this into
26:03
this into um converting this into typescript or H sorry into JavaScript so
26:06
typescript or H sorry into JavaScript so
26:06
typescript or H sorry into JavaScript so the way that we convert this into
26:08
the way that we convert this into
26:08
the way that we convert this into JavaScript is by using the typescript
26:11
JavaScript is by using the typescript
26:11
JavaScript is by using the typescript tooling um or more specifically the
26:14
tooling um or more specifically the
26:14
tooling um or more specifically the typescript compiler or
26:17
typescript compiler or
26:17
typescript compiler or TSC now I already have this installed
26:20
TSC now I already have this installed
26:20
TSC now I already have this installed you can install this via an mpm package
26:23
you can install this via an mpm package
26:23
you can install this via an mpm package which I'm going to demo here in uh in
26:26
which I'm going to demo here in uh in
26:26
which I'm going to demo here in uh in just a couple of minutes um but uh I've
26:29
just a couple of minutes um but uh I've
26:30
just a couple of minutes um but uh I've already got it installed so I'm going to
26:31
already got it installed so I'm going to
26:31
already got it installed so I'm going to go ahead and say TSC demo. TS hit enter
26:37
go ahead and say TSC demo. TS hit enter
26:37
go ahead and say TSC demo. TS hit enter and now what you're going to notice is
26:39
and now what you're going to notice is
26:39
and now what you're going to notice is that we've now got this brand new
26:41
that we've now got this brand new
26:41
that we've now got this brand new Javascript file and if I open this
26:45
Javascript file and if I open this
26:45
Javascript file and if I open this little Javascript file up sure enough
26:47
little Javascript file up sure enough
26:47
little Javascript file up sure enough you're going to notice it's it's the
26:49
you're going to notice it's it's the
26:49
you're going to notice it's it's the exact same code that there we go um that
26:55
exact same code that there we go um that
26:55
exact same code that there we go um that it's it's console.log hello world
26:57
it's it's console.log hello world
26:57
it's it's console.log hello world console.log hello world which is sort of
27:00
console.log hello world which is sort of
27:00
console.log hello world which is sort of what what we would expect because after
27:02
what what we would expect because after
27:02
what what we would expect because after all we haven't done um really anything
27:06
all we haven't done um really anything
27:06
all we haven't done um really anything overly overly
27:08
overly overly
27:08
overly overly fancy okay well now let's start to do
27:11
fancy okay well now let's start to do
27:11
fancy okay well now let's start to do something that's that's a little bit
27:13
something that's that's a little bit
27:13
something that's that's a little bit fancy here so let's let's maybe uh break
27:16
fancy here so let's let's maybe uh break
27:16
fancy here so let's let's maybe uh break this out um and I'm GNA say const
27:19
this out um and I'm GNA say const
27:19
this out um and I'm GNA say const message
27:20
message
27:20
message equals um hello
27:23
equals um hello
27:23
equals um hello world and then I'm going to sneak down
27:26
world and then I'm going to sneak down
27:26
world and then I'm going to sneak down here and I'm going going to um print out
27:30
here and I'm going going to um print out
27:30
here and I'm going going to um print out uh my uh my message here okay now I want
27:33
uh my uh my message here okay now I want
27:33
uh my uh my message here okay now I want to highlight con here real quick
27:37
to highlight con here real quick
27:37
to highlight con here real quick so one of the most common bugs that
27:41
so one of the most common bugs that
27:41
so one of the most common bugs that people wind up running into is
27:43
people wind up running into is
27:43
people wind up running into is reassigning
27:44
reassigning
27:44
reassigning variables um or I shouldn't necessarily
27:47
variables um or I shouldn't necessarily
27:47
variables um or I shouldn't necessarily most common um but it is certainly a
27:50
most common um but it is certainly a
27:50
most common um but it is certainly a class of bug which is reassigning a
27:52
class of bug which is reassigning a
27:52
class of bug which is reassigning a variable when they don't really want to
27:55
variable when they don't really want to
27:55
variable when they don't really want to they don't really mean to and and one
27:58
they don't really mean to and and one
27:58
they don't really mean to and and one big way that you can avoid doing that is
28:00
big way that you can avoid doing that is
28:00
big way that you can avoid doing that is by use by declaring your variables as
28:03
by use by declaring your variables as
28:03
by use by declaring your variables as const now unfortunately depending on
28:06
const now unfortunately depending on
28:06
const now unfortunately depending on where it is that you're going to be
28:07
where it is that you're going to be
28:07
where it is that you're going to be running your JavaScript sometimes that's
28:10
running your JavaScript sometimes that's
28:10
running your JavaScript sometimes that's going to be supported sometimes it's not
28:12
going to be supported sometimes it's not
28:12
going to be supported sometimes it's not going to be supported and sometimes it's
28:15
going to be supported and sometimes it's
28:15
going to be supported and sometimes it's not going to be supported but only in
28:17
not going to be supported but only in
28:17
not going to be supported but only in specific
28:18
specific
28:18
specific areas well fortunately with typescript I
28:21
areas well fortunately with typescript I
28:21
areas well fortunately with typescript I can always use const const will always
28:25
can always use const const will always
28:25
can always use const const will always work for me
28:28
work for me
28:28
work for me however remember again this is going to
28:31
however remember again this is going to
28:31
however remember again this is going to run JavaScript so depending on the
28:34
run JavaScript so depending on the
28:34
run JavaScript so depending on the version of JavaScript that we're running
28:36
version of JavaScript that we're running
28:36
version of JavaScript that we're running this might not work so what you're going
28:40
this might not work so what you're going
28:40
this might not work so what you're going to notice is when I rerun this
28:42
to notice is when I rerun this
28:42
to notice is when I rerun this compilation over here on the right side
28:44
compilation over here on the right side
28:44
compilation over here on the right side here's my new output what you're going
28:47
here's my new output what you're going
28:47
here's my new output what you're going to notice is that it's now converted
28:50
to notice is that it's now converted
28:50
to notice is that it's now converted this into VAR now we'll talk about why
28:54
this into VAR now we'll talk about why
28:54
this into VAR now we'll talk about why it's converted it into VAR in in a
28:57
it's converted it into VAR in in a
28:57
it's converted it into VAR in in a couple of minutes but the big thing that
28:59
couple of minutes but the big thing that
28:59
couple of minutes but the big thing that I want to highlight here is the fact
29:01
I want to highlight here is the fact
29:01
I want to highlight here is the fact that I'm writing typescript I write
29:04
that I'm writing typescript I write
29:04
that I'm writing typescript I write typescript the way that I want it that
29:06
typescript the way that I want it that
29:06
typescript the way that I want it that that I want to I write typescript taking
29:08
that I want to I write typescript taking
29:08
that I want to I write typescript taking advantage of the features that I want to
29:10
advantage of the features that I want to
29:10
advantage of the features that I want to take advantage of and then the
29:14
take advantage of and then the
29:14
take advantage of and then the typescript compiler the typescript
29:17
typescript compiler the typescript
29:17
typescript compiler the typescript transpiler converts that into the
29:19
transpiler converts that into the
29:19
transpiler converts that into the appropriate JavaScript so I don't have
29:22
appropriate JavaScript so I don't have
29:22
appropriate JavaScript so I don't have to remember where const works and
29:25
to remember where const works and
29:25
to remember where const works and doesn't work I simply use it the way
29:28
doesn't work I simply use it the way
29:28
doesn't work I simply use it the way that I want to use it and then
29:31
that I want to use it and then
29:31
that I want to use it and then typescript will take care of the rest
29:34
typescript will take care of the rest
29:34
typescript will take care of the rest for
29:35
for
29:35
for me okay
29:38
me okay
29:38
me okay now what you're going to notice is I'm
29:42
now what you're going to notice is I'm
29:42
now what you're going to notice is I'm getting red squigglies here I'm getting
29:44
getting red squigglies here I'm getting
29:44
getting red squigglies here I'm getting an error message here and the reason
29:46
an error message here and the reason
29:46
an error message here and the reason that I'm getting an error message here
29:48
that I'm getting an error message here
29:48
that I'm getting an error message here is because it's saying hey wait a minute
29:51
is because it's saying hey wait a minute
29:51
is because it's saying hey wait a minute I'm seeing two
29:53
I'm seeing two
29:53
I'm seeing two messages now the reason that it's seeing
29:55
messages now the reason that it's seeing
29:56
messages now the reason that it's seeing two messages is because Visual Studio
29:59
two messages is because Visual Studio
29:59
two messages is because Visual Studio code is actually reading both my
30:01
code is actually reading both my
30:01
code is actually reading both my typescript file and my Javascript
30:05
typescript file and my Javascript
30:05
typescript file and my Javascript file now the the reason that it's doing
30:08
file now the the reason that it's doing
30:08
file now the the reason that it's doing that is because it it it doesn't know
30:12
that is because it it it doesn't know
30:12
that is because it it it doesn't know what we're using this typescript and
30:14
what we're using this typescript and
30:14
what we're using this typescript and JavaScript file for it doesn't know the
30:17
JavaScript file for it doesn't know the
30:17
JavaScript file for it doesn't know the fact that that Javascript file is really
30:19
fact that that Javascript file is really
30:19
fact that that Javascript file is really just assembly code if you will it
30:22
just assembly code if you will it
30:22
just assembly code if you will it doesn't know this so what we need to do
30:25
doesn't know this so what we need to do
30:25
doesn't know this so what we need to do is a little bit of addition
30:27
is a little bit of addition
30:27
is a little bit of addition configuration here to make sure that
30:31
configuration here to make sure that
30:31
configuration here to make sure that everything is configured properly and
30:34
everything is configured properly and
30:34
everything is configured properly and this is actually the real way that
30:37
this is actually the real way that
30:37
this is actually the real way that you're going to be doing um typescript
30:40
you're going to be doing um typescript
30:40
you're going to be doing um typescript so what I'm going to do for right now is
30:42
so what I'm going to do for right now is
30:42
so what I'm going to do for right now is I'm going to just close out that one
30:44
I'm going to just close out that one
30:44
I'm going to just close out that one little file and I'm going to
30:48
little file and I'm going to
30:48
little file and I'm going to create two real quick files the first
30:51
create two real quick files the first
30:51
create two real quick files the first file that I'm going to
30:53
file that I'm going to
30:53
file that I'm going to create is my package.json file now if
30:57
create is my package.json file now if
30:57
create is my package.json file now if you're familiar with node then you're
30:59
you're familiar with node then you're
30:59
you're familiar with node then you're already familiar with package.json this
31:01
already familiar with package.json this
31:01
already familiar with package.json this is of course how we're going to manage
31:03
is of course how we're going to manage
31:03
is of course how we're going to manage all of the packages that we're going to
31:08
all of the packages that we're going to
31:08
all of the packages that we're going to be
31:13
using we go and so the first package
31:17
using we go and so the first package
31:17
using we go and so the first package that I'm going to add into
31:20
that I'm going to add into
31:20
that I'm going to add into here is
31:22
here is
31:22
here is typescript typescript is going to be a
31:26
typescript typescript is going to be a
31:26
typescript typescript is going to be a Dev
31:27
Dev
31:27
Dev dependency remember again it's not your
31:30
dependency remember again it's not your
31:30
dependency remember again it's not your typescript that runs it's the JavaScript
31:33
typescript that runs it's the JavaScript
31:33
typescript that runs it's the JavaScript that runs so the only thing that we
31:35
that runs so the only thing that we
31:35
that runs so the only thing that we actually need typescript
31:38
actually need typescript
31:38
actually need typescript for is going to just be managing that
31:42
for is going to just be managing that
31:42
for is going to just be managing that conversion from typescript into
31:45
conversion from typescript into
31:45
conversion from typescript into JavaScript that's the only reason that
31:47
JavaScript that's the only reason that
31:47
JavaScript that's the only reason that we're going to need this installed so we
31:49
we're going to need this installed so we
31:49
we're going to need this installed so we can have this as a Dev
31:53
dependency now for right now I'm just
31:55
dependency now for right now I'm just
31:55
dependency now for right now I'm just going to save this I'm going to leave
31:57
going to save this I'm going to leave
31:57
going to save this I'm going to leave that that to the side come back to it in
31:59
that that to the side come back to it in
31:59
that that to the side come back to it in a
32:01
a
32:01
a minute and I'm going to add in another
32:03
minute and I'm going to add in another
32:03
minute and I'm going to add in another file
32:05
file
32:05
file here and this new file that I'm going to
32:07
here and this new file that I'm going to
32:07
here and this new file that I'm going to add in is my TSC config.js
32:12
add in is my TSC config.js
32:12
add in is my TSC config.js file TSC config.js sort of as the name
32:16
file TSC config.js sort of as the name
32:16
file TSC config.js sort of as the name might imply is going to allow me to
32:19
might imply is going to allow me to
32:19
might imply is going to allow me to configure the behavior of my
32:23
configure the behavior of my
32:23
configure the behavior of my typescript so remember again what we're
32:26
typescript so remember again what we're
32:26
typescript so remember again what we're going to do we're going to take our
32:27
going to do we're going to take our
32:27
going to do we're going to take our typescript we're eventually going to
32:29
typescript we're eventually going to
32:29
typescript we're eventually going to convert this into JavaScript my ts
32:32
convert this into JavaScript my ts
32:32
convert this into JavaScript my ts config is going to give me complete
32:35
config is going to give me complete
32:35
config is going to give me complete control over how that
32:39
control over how that
32:39
control over how that happens and what you're going to
32:42
happens and what you're going to
32:42
happens and what you're going to notice is that we're going to have a
32:44
notice is that we're going to have a
32:44
notice is that we're going to have a collection of compiler options available
32:48
collection of compiler options available
32:48
collection of compiler options available to us to control how that's going to
32:51
to us to control how that's going to
32:51
to us to control how that's going to take place so the first two options that
32:54
take place so the first two options that
32:54
take place so the first two options that I want to set here are going to be my
32:59
I want to set here are going to be my
32:59
I want to set here are going to be my source rot so this is basically going to
33:01
source rot so this is basically going to
33:01
source rot so this is basically going to be where we going to get our typescript
33:04
be where we going to get our typescript
33:04
be where we going to get our typescript files from and then our output
33:09
files from and then our output
33:09
files from and then our output directory and I'm going to Simply set
33:11
directory and I'm going to Simply set
33:11
directory and I'm going to Simply set this to be Leb oops I you
33:16
this to be Leb oops I you
33:16
this to be Leb oops I you know don't want Source root this one
33:19
know don't want Source root this one
33:19
know don't want Source root this one always throws me for some reason I
33:25
want root there we
33:28
want root there we
33:28
want root there we go Source Ro is something different I
33:31
go Source Ro is something different I
33:31
go Source Ro is something different I want root D there we go that's what I
33:34
want root D there we go that's what I
33:34
want root D there we go that's what I want I don't know why I always forget
33:36
want I don't know why I always forget
33:36
want I don't know why I always forget that okay so root D this is going to be
33:39
that okay so root D this is going to be
33:39
that okay so root D this is going to be where my typescript files are going to
33:40
where my typescript files are going to
33:40
where my typescript files are going to exist my outdor this is going to be
33:43
exist my outdor this is going to be
33:43
exist my outdor this is going to be where it is that we're going to be
33:45
where it is that we're going to be
33:45
where it is that we're going to be sending this um uh sending this out to
33:49
sending this um uh sending this out to
33:49
sending this um uh sending this out to okay now let's go ahead and then set up
33:51
okay now let's go ahead and then set up
33:51
okay now let's go ahead and then set up those directories so I'm just going to
33:53
those directories so I'm just going to
33:53
those directories so I'm just going to set up
33:54
set up
33:54
set up SRC I'm going to move my typescript file
33:58
SRC I'm going to move my typescript file
33:58
SRC I'm going to move my typescript file into it and then what I'm going to do is
34:01
into it and then what I'm going to do is
34:01
into it and then what I'm going to do is I'm actually just going to get rid of my
34:03
I'm actually just going to get rid of my
34:03
I'm actually just going to get rid of my demo JJs file because I don't need it
34:06
demo JJs file because I don't need it
34:06
demo JJs file because I don't need it anymore so it'll just make it go away
34:09
anymore so it'll just make it go away
34:09
anymore so it'll just make it go away okay so now what I've done here is I've
34:14
okay so now what I've done here is I've
34:14
okay so now what I've done here is I've said hey go look inside my source
34:15
said hey go look inside my source
34:15
said hey go look inside my source directory for my typescript files and
34:17
directory for my typescript files and
34:17
directory for my typescript files and then when we're ready to go put them
34:19
then when we're ready to go put them
34:19
then when we're ready to go put them into that lib
34:21
into that lib
34:21
into that lib directory so now let's go back to our
34:24
directory so now let's go back to our
34:24
directory so now let's go back to our package.json file and let's set
34:28
package.json file and let's set
34:28
package.json file and let's set up
34:31
up
34:31
up a build script and my build script is
34:34
a build script and my build script is
34:34
a build script and my build script is simply going to be to execute TSC I'm
34:37
simply going to be to execute TSC I'm
34:37
simply going to be to execute TSC I'm going to add in one more uh build
34:40
going to add in one more uh build
34:40
going to add in one more uh build watch and I'm going to set this to be
34:43
watch and I'm going to set this to be
34:44
watch and I'm going to set this to be TSC uh TI tick watch so TSC as we've
34:48
TSC uh TI tick watch so TSC as we've
34:48
TSC uh TI tick watch so TSC as we've already seen is going to convert our
34:51
already seen is going to convert our
34:51
already seen is going to convert our typescript into
34:54
JavaScript by just simply running TSC
34:57
JavaScript by just simply running TSC
34:57
JavaScript by just simply running TSC it's going to look at our TS config file
35:00
it's going to look at our TS config file
35:00
it's going to look at our TS config file and execute
35:01
and execute
35:01
and execute it this tick tick watch is going to look
35:06
it this tick tick watch is going to look
35:06
it this tick tick watch is going to look for changes inside of that file and
35:11
for changes inside of that file and
35:11
for changes inside of that file and every time uh or inside of our our
35:13
every time uh or inside of our our
35:13
every time uh or inside of our our typescript files anytime it sees a
35:16
typescript files anytime it sees a
35:16
typescript files anytime it sees a change it's just going to go ahead and
35:18
change it's just going to go ahead and
35:18
change it's just going to go ahead and reexecute and I really like that for Dev
35:22
reexecute and I really like that for Dev
35:22
reexecute and I really like that for Dev I really like that for demos because of
35:24
I really like that for demos because of
35:24
I really like that for demos because of the fact that it's going to allow me to
35:30
the fact that it's going to allow me to
35:30
the fact that it's going to allow me to um just install one other real quick
35:33
um just install one other real quick
35:33
um just install one other real quick library here there we go um it's going
35:37
library here there we go um it's going
35:37
library here there we go um it's going to allow me to very easily have that
35:39
to allow me to very easily have that
35:39
to allow me to very easily have that running in the background and be able to
35:42
running in the background and be able to
35:42
running in the background and be able to see um all of the um the outputed uh
35:47
see um all of the um the outputed uh
35:47
see um all of the um the outputed uh JavaScript okay so with that in mind
35:51
JavaScript okay so with that in mind
35:51
JavaScript okay so with that in mind let's go ahead and say npm run build
35:55
let's go ahead and say npm run build
35:55
let's go ahead and say npm run build watch
35:57
watch
35:57
watch and now this will just continue
36:00
and now this will just continue
36:00
and now this will just continue to build our JavaScript file and now
36:04
to build our JavaScript file and now
36:04
to build our JavaScript file and now what you're going to notice whoosh
36:07
what you're going to notice whoosh
36:07
what you're going to notice whoosh is there's our typescript and there's
36:10
is there's our typescript and there's
36:10
is there's our typescript and there's our JavaScript being emitted every
36:12
our JavaScript being emitted every
36:12
our JavaScript being emitted every single time okay now the other thing
36:16
single time okay now the other thing
36:16
single time okay now the other thing that I want to highlight here is let me
36:19
that I want to highlight here is let me
36:19
that I want to highlight here is let me go back into my um TSC config.js
36:24
and um one big question that had been
36:29
and um one big question that had been
36:29
and um one big question that had been asked is about being able to do uh
36:32
asked is about being able to do uh
36:32
asked is about being able to do uh debugging of
36:34
debugging of
36:34
debugging of typescript if you want to debug your
36:37
typescript if you want to debug your
36:37
typescript if you want to debug your typescript what you're going to need is
36:41
typescript what you're going to need is
36:41
typescript what you're going to need is a map file and what your map file is
36:44
a map file and what your map file is
36:44
a map file and what your map file is going to do is it's going to highlight
36:46
going to do is it's going to highlight
36:47
going to do is it's going to highlight basically this line of JavaScript lines
36:49
basically this line of JavaScript lines
36:49
basically this line of JavaScript lines up to this line of typescript this line
36:51
up to this line of typescript this line
36:51
up to this line of typescript this line of JavaScript lines up to this line of
36:53
of JavaScript lines up to this line of
36:53
of JavaScript lines up to this line of typescript so if I save this
36:58
typescript so if I save this
36:58
typescript so if I save this and just let it run what you're now
37:00
and just let it run what you're now
37:00
and just let it run what you're now going to notice is here is that map file
37:04
going to notice is here is that map file
37:04
going to notice is here is that map file now don't worry about exactly what's
37:07
now don't worry about exactly what's
37:07
now don't worry about exactly what's going on here um uh about any of the
37:11
going on here um uh about any of the
37:11
going on here um uh about any of the syntax or anything like that because you
37:13
syntax or anything like that because you
37:13
syntax or anything like that because you don't need to read
37:14
don't need to read
37:14
don't need to read this this mop file strictly exists for
37:19
this this mop file strictly exists for
37:19
this this mop file strictly exists for debuggers so that way it can map this up
37:23
debuggers so that way it can map this up
37:24
debuggers so that way it can map this up to your typescript file so that's all
37:27
to your typescript file so that's all
37:27
to your typescript file so that's all that you need to do to enable
37:32
debugging
37:35
debugging
37:35
debugging okay let's go back to our typescript
37:39
okay let's go back to our typescript
37:39
okay let's go back to our typescript file
37:42
let's let's start
37:47
building an
37:49
building an
37:49
building an application
37:55
um
37:57
um
37:57
um let me go like this and let's go ahead
38:02
let me go like this and let's go ahead
38:02
let me go like this and let's go ahead and do this and then let's go ahead and
38:07
and do this and then let's go ahead and
38:07
and do this and then let's go ahead and do something like this
38:14
um okay now what you're gonna notice of
38:18
um okay now what you're gonna notice of
38:18
um okay now what you're gonna notice of course is that I've built a uh a
38:21
course is that I've built a uh a
38:21
course is that I've built a uh a function here and I've added a a a
38:25
function here and I've added a a a
38:25
function here and I've added a a a parameter into that function called
38:27
parameter into that function called
38:27
parameter into that function called message and right now we're just going
38:28
message and right now we're just going
38:28
message and right now we're just going to go ahead and print out that
38:31
to go ahead and print out that
38:31
to go ahead and print out that message well let's say for example that
38:34
message well let's say for example that
38:34
message well let's say for example that what I wanted to do is I wanted to maybe
38:39
what I wanted to do is I wanted to maybe
38:39
what I wanted to do is I wanted to maybe append
38:45
on some sort of a a prefix so maybe what
38:49
on some sort of a a prefix so maybe what
38:49
on some sort of a a prefix so maybe what I want to do is I want to say from
38:51
I want to do is I want to say from
38:51
I want to do is I want to say from logger and then whatever that message is
38:54
logger and then whatever that message is
38:54
logger and then whatever that message is okay I can do that so let's go ahead and
38:57
okay I can do that so let's go ahead and
38:57
okay I can do that so let's go ahead and save this and what you're going to
38:58
save this and what you're going to
38:58
save this and what you're going to notice is there's our our JavaScript
39:00
notice is there's our our JavaScript
39:00
notice is there's our our JavaScript over on the uh on the right hand side
39:03
over on the uh on the right hand side
39:03
over on the uh on the right hand side that's that's that's looking just fine
39:05
that's that's that's looking just fine
39:05
that's that's that's looking just fine and let's go ahead and
39:20
um oh um that's why I called it
39:23
um oh um that's why I called it
39:23
um oh um that's why I called it something different let's go ahead and
39:25
something different let's go ahead and
39:25
something different let's go ahead and start nodon over on the right side so
39:27
start nodon over on the right side so
39:27
start nodon over on the right side so what nodon is going to do is it's just
39:29
what nodon is going to do is it's just
39:29
what nodon is going to do is it's just going to continually run our Javascript
39:31
going to continually run our Javascript
39:31
going to continually run our Javascript file so what you're going to notice is
39:33
file so what you're going to notice is
39:33
file so what you're going to notice is sure enough from logger hello world
39:35
sure enough from logger hello world
39:35
sure enough from logger hello world which is exactly what we would
39:38
which is exactly what we would
39:38
which is exactly what we would expect well let's go ahead and instead
39:43
expect well let's go ahead and instead
39:43
expect well let's go ahead and instead of passing in hello
39:46
of passing in hello
39:46
of passing in hello world let's go ahead and pass
39:50
world let's go ahead and pass
39:50
world let's go ahead and pass in say
39:54
42 and what what you're going to notice
39:57
42 and what what you're going to notice
39:57
42 and what what you're going to notice over on the right hand side there is
40:00
over on the right hand side there is
40:00
over on the right hand side there is that it's now printing out from logger
40:03
that it's now printing out from logger
40:03
that it's now printing out from logger and then
40:04
and then
40:04
and then 42 and now we get into that first Quirk
40:10
42 and now we get into that first Quirk
40:10
42 and now we get into that first Quirk of
40:11
of
40:11
of JavaScript that one of the things that
40:13
JavaScript that one of the things that
40:13
JavaScript that one of the things that JavaScript is going to try to do to help
40:17
JavaScript is going to try to do to help
40:17
JavaScript is going to try to do to help us out because it's all you know helpful
40:22
us out because it's all you know helpful
40:22
us out because it's all you know helpful is it's going to do automatic conversion
40:25
is it's going to do automatic conversion
40:25
is it's going to do automatic conversion of data types
40:26
of data types
40:26
of data types so what it's doing right now is it's
40:29
so what it's doing right now is it's
40:29
so what it's doing right now is it's taking our number and it's converting it
40:33
taking our number and it's converting it
40:33
taking our number and it's converting it into a string and while that's just fine
40:37
into a string and while that's just fine
40:37
into a string and while that's just fine for what we've got going on here if I
40:40
for what we've got going on here if I
40:40
for what we've got going on here if I was trying to work with numbers and
40:42
was trying to work with numbers and
40:42
was trying to work with numbers and things like that that's not really what
40:45
things like that that's not really what
40:45
things like that that's not really what I would want to want to have happen that
40:47
I would want to want to have happen that
40:47
I would want to want to have happen that if you've ever done something like this
40:50
if you've ever done something like this
40:50
if you've ever done something like this let's just um console. log um 42 um
40:57
let's just um console. log um 42 um
40:57
let's just um console. log um 42 um plus u 206 for example um what you're
41:01
plus u 206 for example um what you're
41:01
plus u 206 for example um what you're going to notice is because of the fact
41:02
going to notice is because of the fact
41:02
going to notice is because of the fact that 42 is a string it's going to just
41:07
that 42 is a string it's going to just
41:07
that 42 is a string it's going to just append on that 206 this is not what I
41:11
append on that 206 this is not what I
41:11
append on that 206 this is not what I was looking for this is not the behavior
41:15
was looking for this is not the behavior
41:15
was looking for this is not the behavior that I'm
41:17
that I'm
41:17
that I'm expecting and the reason that I'm not
41:19
expecting and the reason that I'm not
41:19
expecting and the reason that I'm not getting the behavior that that that I'm
41:21
getting the behavior that that that I'm
41:21
getting the behavior that that that I'm expecting here even though I sort of got
41:23
expecting here even though I sort of got
41:23
expecting here even though I sort of got away with it I didn't get an error
41:24
away with it I didn't get an error
41:24
away with it I didn't get an error message is because I don't have the
41:26
message is because I don't have the
41:27
message is because I don't have the ability to
41:28
ability to
41:28
ability to indicate the data type for that
41:33
indicate the data type for that
41:33
indicate the data type for that message and this right here this one
41:37
message and this right here this one
41:37
message and this right here this one little
41:39
little
41:39
little thing is
41:41
thing is
41:41
thing is the best feature well second best
41:45
the best feature well second best
41:45
the best feature well second best feature in typescript I'll get to the
41:47
feature in typescript I'll get to the
41:47
feature in typescript I'll get to the best feature in a
41:48
best feature in a
41:48
best feature in a minute and that is my ability to declare
41:52
minute and that is my ability to declare
41:52
minute and that is my ability to declare my data type as a string and now what
41:56
my data type as a string and now what
41:56
my data type as a string and now what what you're going to notice here's my
41:58
what you're going to notice here's my
41:58
what you're going to notice here's my syntax here I just simply said colon and
42:00
syntax here I just simply said colon and
42:00
syntax here I just simply said colon and then the data type what you're going to
42:02
then the data type what you're going to
42:02
then the data type what you're going to notice is that I get red squigglies
42:05
notice is that I get red squigglies
42:05
notice is that I get red squigglies here and my red squigglies are
42:08
here and my red squigglies are
42:08
here and my red squigglies are indicating that there's an error and my
42:10
indicating that there's an error and my
42:10
indicating that there's an error and my error is argument of type 42 is not
42:15
error is argument of type 42 is not
42:15
error is argument of type 42 is not assignable to parameter of type string
42:19
assignable to parameter of type string
42:19
assignable to parameter of type string so it's telling me right here hey you've
42:23
so it's telling me right here hey you've
42:23
so it's telling me right here hey you've got a problem you're passing in a number
42:27
got a problem you're passing in a number
42:27
got a problem you're passing in a number I'm expecting a
42:30
I'm expecting a
42:30
I'm expecting a string isn't that wonderful that's
42:32
string isn't that wonderful that's
42:32
string isn't that wonderful that's fantastic like if I stopped
42:34
fantastic like if I stopped
42:34
fantastic like if I stopped here we'd already be better off than
42:37
here we'd already be better off than
42:37
here we'd already be better off than than we once were now there's there's
42:40
than we once were now there's there's
42:40
than we once were now there's there's two important things to note here so I'm
42:42
two important things to note here so I'm
42:42
two important things to note here so I'm GNA save
42:45
GNA save
42:45
GNA save this and what you're going to notice
42:47
this and what you're going to notice
42:47
this and what you're going to notice when I save this is that it now updated
42:50
when I save this is that it now updated
42:50
when I save this is that it now updated my
42:51
my
42:51
my JavaScript and you're going to notice
42:53
JavaScript and you're going to notice
42:53
JavaScript and you're going to notice over here in my JavaScript two very big
42:55
over here in my JavaScript two very big
42:55
over here in my JavaScript two very big things number one is that that little
42:59
things number one is that that little
42:59
things number one is that that little string flag there is
43:02
string flag there is
43:02
string flag there is gone and the reason that that's gone is
43:05
gone and the reason that that's gone is
43:05
gone and the reason that that's gone is because JavaScript doesn't support that
43:08
because JavaScript doesn't support that
43:08
because JavaScript doesn't support that syntax so anything that JavaScript
43:10
syntax so anything that JavaScript
43:10
syntax so anything that JavaScript doesn't support it's just going to go
43:14
doesn't support it's just going to go
43:14
doesn't support it's just going to go away the second thing that you're going
43:16
away the second thing that you're going
43:16
away the second thing that you're going to
43:16
to
43:16
to notice is that while I did get an error
43:19
notice is that while I did get an error
43:19
notice is that while I did get an error message here typescript is still going
43:24
message here typescript is still going
43:24
message here typescript is still going to emit my JavaScript by
43:29
default and so what you're going to
43:31
default and so what you're going to
43:31
default and so what you're going to notice is that the JavaScript that we
43:34
notice is that the JavaScript that we
43:34
notice is that the JavaScript that we get emitted is sort of what we would
43:36
get emitted is sort of what we would
43:36
get emitted is sort of what we would expect and the behavior that we're going
43:38
expect and the behavior that we're going
43:38
expect and the behavior that we're going to get is exactly what we got
43:43
to get is exactly what we got
43:43
to get is exactly what we got before and this is another very
43:45
before and this is another very
43:45
before and this is another very important point about working in
43:47
important point about working in
43:47
important point about working in typescript keep in mind that all of
43:49
typescript keep in mind that all of
43:50
typescript keep in mind that all of these niceties that you're going to get
43:51
these niceties that you're going to get
43:51
these niceties that you're going to get in
43:52
in
43:52
in typescript are for typescript and this
43:55
typescript are for typescript and this
43:55
typescript are for typescript and this is a little bit of a shift in mentality
44:00
is a little bit of a shift in mentality
44:00
is a little bit of a shift in mentality especially if you're used to working in
44:02
especially if you're used to working in
44:02
especially if you're used to working in C that in C when I say things need to be
44:06
C that in C when I say things need to be
44:06
C that in C when I say things need to be a specific way they're going to be that
44:09
a specific way they're going to be that
44:09
a specific way they're going to be that way period end of sense and that's not
44:12
way period end of sense and that's not
44:12
way period end of sense and that's not the case in
44:13
the case in
44:14
the case in typescript that when I'm working in
44:16
typescript that when I'm working in
44:16
typescript that when I'm working in typescript I get to set up rules I get
44:19
typescript I get to set up rules I get
44:19
typescript I get to set up rules I get to say hey I need things to work a
44:21
to say hey I need things to work a
44:21
to say hey I need things to work a particular way but it's still the
44:25
particular way but it's still the
44:25
particular way but it's still the JavaScript
44:26
JavaScript
44:26
JavaScript that's going to be running at the end of
44:28
that's going to be running at the end of
44:28
that's going to be running at the end of the
44:29
the
44:29
the day and so as a
44:32
day and so as a
44:32
day and so as a result the JavaScript in and of
44:36
result the JavaScript in and of
44:36
result the JavaScript in and of itself is still not going to be types
44:38
itself is still not going to be types
44:38
itself is still not going to be types safe my typescript is going to be types
44:41
safe my typescript is going to be types
44:41
safe my typescript is going to be types safe my typescript will still catch
44:44
safe my typescript will still catch
44:44
safe my typescript will still catch these errors for me so as long as I'm
44:46
these errors for me so as long as I'm
44:46
these errors for me so as long as I'm paying attention to those errors I'm
44:48
paying attention to those errors I'm
44:48
paying attention to those errors I'm still going to be
44:50
still going to be
44:50
still going to be okay but you always need to remember
44:52
okay but you always need to remember
44:52
okay but you always need to remember that it's the JavaScript that's going to
44:54
that it's the JavaScript that's going to
44:54
that it's the JavaScript that's going to be run so you're not getting that true
44:56
be run so you're not getting that true
44:56
be run so you're not getting that true safety
44:57
safety
44:57
safety net that you would get with something
44:59
net that you would get with something
44:59
net that you would get with something like um like C okay now there's a couple
45:03
like um like C okay now there's a couple
45:03
like um like C okay now there's a couple of great questions here and I've been
45:04
of great questions here and I've been
45:04
of great questions here and I've been holding off on answering them just
45:06
holding off on answering them just
45:06
holding off on answering them just because I knew I was coming back to this
45:08
because I knew I was coming back to this
45:08
because I knew I was coming back to this um so the first question um from Krishna
45:11
um so the first question um from Krishna
45:11
um so the first question um from Krishna is can we have separate um TS config
45:13
is can we have separate um TS config
45:13
is can we have separate um TS config files for Dev and for prod um and the
45:19
files for Dev and for prod um and the
45:19
files for Dev and for prod um and the the the answer to that is is yes um that
45:24
the the answer to that is is yes um that
45:24
the the answer to that is is yes um that there is an option on TSC and I I don't
45:27
there is an option on TSC and I I don't
45:27
there is an option on TSC and I I don't remember what it is off the top of my
45:29
remember what it is off the top of my
45:29
remember what it is off the top of my head I would I would have to go look but
45:30
head I would I would have to go look but
45:30
head I would I would have to go look but there is an option to um indicate a
45:33
there is an option to um indicate a
45:33
there is an option to um indicate a different TS config file or when you run
45:37
different TS config file or when you run
45:37
different TS config file or when you run the TS command that you can actually
45:39
the TS command that you can actually
45:39
the TS command that you can actually just pass in parameters that would
45:41
just pass in parameters that would
45:41
just pass in parameters that would override whatever it is that you've got
45:43
override whatever it is that you've got
45:43
override whatever it is that you've got going on um here um so one thing that
45:46
going on um here um so one thing that
45:46
going on um here um so one thing that you might decide to do for example is
45:49
you might decide to do for example is
45:49
you might decide to do for example is maybe during Dev that you would be a
45:52
maybe during Dev that you would be a
45:52
maybe during Dev that you would be a little bit looser with the rules and
45:55
little bit looser with the rules and
45:55
little bit looser with the rules and then when you go to production that you
45:57
then when you go to production that you
45:58
then when you go to production that you might be stricter with the um uh with
46:01
might be stricter with the um uh with
46:01
might be stricter with the um uh with the uh with the rules um which actually
46:04
the uh with the rules um which actually
46:04
the uh with the rules um which actually then leads sort of perfectly into
46:05
then leads sort of perfectly into
46:05
then leads sort of perfectly into Christian's next question which is type
46:08
Christian's next question which is type
46:08
Christian's next question which is type safety in um um in script can can can we
46:11
safety in um um in script can can can we
46:11
safety in um um in script can can can we say it like this and yeah you you
46:13
say it like this and yeah you you
46:13
say it like this and yeah you you basically can and you can also start to
46:16
basically can and you can also start to
46:16
basically can and you can also start to enforce some of these rules by setting
46:20
enforce some of these rules by setting
46:20
enforce some of these rules by setting up a couple of um of of different
46:23
up a couple of um of of different
46:23
up a couple of um of of different options here so one of them is no emit
46:27
options here so one of them is no emit
46:27
options here so one of them is no emit on
46:28
on
46:28
on error so let me do this let me um delete
46:34
error so let me do this let me um delete
46:34
error so let me do this let me um delete my lib directory
46:37
here delete delete okay so now that's
46:41
here delete delete okay so now that's
46:41
here delete delete okay so now that's gone let me go ahead and save my ts
46:43
gone let me go ahead and save my ts
46:43
gone let me go ahead and save my ts config um and now what I want you to
46:46
config um and now what I want you to
46:46
config um and now what I want you to notice is that it it it it ran it built
46:51
notice is that it it it it ran it built
46:51
notice is that it it it it ran it built so it is trying to to actually build my
46:55
so it is trying to to actually build my
46:55
so it is trying to to actually build my Javas script file but what you're going
46:57
Javas script file but what you're going
46:57
Javas script file but what you're going to notice over here is the um uh uh is
47:04
to notice over here is the um uh uh is
47:04
to notice over here is the um uh uh is that the lib directory was not generated
47:08
that the lib directory was not generated
47:08
that the lib directory was not generated and the reason that the lib directory
47:09
and the reason that the lib directory
47:09
and the reason that the lib directory was not generated is because of the fact
47:12
was not generated is because of the fact
47:12
was not generated is because of the fact that I've got an error if I get rid of
47:14
that I've got an error if I get rid of
47:14
that I've got an error if I get rid of that error now I go ahead and I hit save
47:17
that error now I go ahead and I hit save
47:17
that error now I go ahead and I hit save now what you're going to notice is that
47:18
now what you're going to notice is that
47:18
now what you're going to notice is that everything is built correctly my uh JS
47:22
everything is built correctly my uh JS
47:22
everything is built correctly my uh JS file is now back to life there it all is
47:26
file is now back to life there it all is
47:26
file is now back to life there it all is and that my code is now um is now
47:31
and that my code is now um is now
47:31
and that my code is now um is now running now the other real quick thing
47:35
running now the other real quick thing
47:35
running now the other real quick thing um that well actually I'll get to that
47:36
um that well actually I'll get to that
47:36
um that well actually I'll get to that in a second I wna I want to ask the
47:39
in a second I wna I want to ask the
47:39
in a second I wna I want to ask the answer the next question um of um uh
47:42
answer the next question um of um uh
47:42
answer the next question um of um uh please forgive me if I'm mispronouncing
47:44
please forgive me if I'm mispronouncing
47:44
please forgive me if I'm mispronouncing your name but sarab asks which is why do
47:46
your name but sarab asks which is why do
47:47
your name but sarab asks which is why do we need TS config on on on on PR um we
47:51
we need TS config on on on on PR um we
47:51
we need TS config on on on on PR um we always publish the the JS to the server
47:53
always publish the the JS to the server
47:53
always publish the the JS to the server okay let me let me try and clarify
47:56
okay let me let me try and clarify
47:56
okay let me let me try and clarify um what it was I was I was trying to say
47:58
um what it was I was I was trying to say
47:58
um what it was I was I was trying to say there so you're absolutely right it's
48:00
there so you're absolutely right it's
48:00
there so you're absolutely right it's just the JavaScript that's going to get
48:02
just the JavaScript that's going to get
48:02
just the JavaScript that's going to get pushed it's it's the JavaScript that's
48:04
pushed it's it's the JavaScript that's
48:04
pushed it's it's the JavaScript that's going to get run the what I was trying
48:08
going to get run the what I was trying
48:08
going to get run the what I was trying to say
48:09
to say
48:10
to say is what you're going to be doing is
48:13
is what you're going to be doing is
48:13
is what you're going to be doing is you're going to convert your typescript
48:15
you're going to convert your typescript
48:15
you're going to convert your typescript of course into JavaScript and when
48:18
of course into JavaScript and when
48:18
of course into JavaScript and when you're doing your
48:20
you're doing your
48:20
you're doing your Dev what you might decide is to just
48:26
Dev what you might decide is to just
48:26
Dev what you might decide is to just simply relax some of the rules so for
48:29
simply relax some of the rules so for
48:29
simply relax some of the rules so for example you might decide to go ahead and
48:31
example you might decide to go ahead and
48:31
example you might decide to go ahead and turn off the no emit on a
48:35
turn off the no emit on a
48:35
turn off the no emit on a that if you're anything like me and I
48:37
that if you're anything like me and I
48:37
that if you're anything like me and I know I
48:39
know I
48:39
know I am um had to get that in there um if
48:43
am um had to get that in there um if
48:43
am um had to get that in there um if you're like me and I know I am one of
48:45
you're like me and I know I am one of
48:45
you're like me and I know I am one of the things that I will frequently do is
48:47
the things that I will frequently do is
48:47
the things that I will frequently do is just like bang on the keyboard like I'll
48:49
just like bang on the keyboard like I'll
48:49
just like bang on the keyboard like I'll just write out some some some bit of
48:51
just write out some some some bit of
48:51
just write out some some some bit of code and and just see if it works and I
48:55
code and and just see if it works and I
48:55
code and and just see if it works and I really really don't want necessarily a
48:57
really really don't want necessarily a
48:57
really really don't want necessarily a lot of real restrictive rules to be
48:59
lot of real restrictive rules to be
48:59
lot of real restrictive rules to be executing so in that situation I might
49:02
executing so in that situation I might
49:02
executing so in that situation I might be using um configuration for um for
49:06
be using um configuration for um for
49:06
be using um configuration for um for typescript that's going to be a little
49:08
typescript that's going to be a little
49:08
typescript that's going to be a little bit looser so I might decide no Amit on
49:10
bit looser so I might decide no Amit on
49:10
bit looser so I might decide no Amit on error actually no I I do want it to go
49:12
error actually no I I do want it to go
49:12
error actually no I I do want it to go ahead and admit on error because I might
49:14
ahead and admit on error because I might
49:15
ahead and admit on error because I might have some errors that I just don't care
49:16
have some errors that I just don't care
49:16
have some errors that I just don't care about right now don't stop everything
49:18
about right now don't stop everything
49:18
about right now don't stop everything just because I'm getting errors but
49:21
just because I'm getting errors but
49:21
just because I'm getting errors but obviously if I'm going to go to
49:22
obviously if I'm going to go to
49:22
obviously if I'm going to go to production I want to make sure in that
49:25
production I want to make sure in that
49:25
production I want to make sure in that case
49:26
case
49:26
case that the code that I'm going to be
49:27
that the code that I'm going to be
49:27
that the code that I'm going to be deploying is as pristine as possible so
49:31
deploying is as pristine as possible so
49:31
deploying is as pristine as possible so now I'm going to want my ts config to be
49:34
now I'm going to want my ts config to be
49:34
now I'm going to want my ts config to be as restrictive as possible so that's the
49:36
as restrictive as possible so that's the
49:36
as restrictive as possible so that's the point that I was trying to to make there
49:38
point that I was trying to to make there
49:38
point that I was trying to to make there I apologize for for any um um any
49:41
I apologize for for any um um any
49:42
I apologize for for any um um any confusion um that uh that was there okay
49:46
confusion um that uh that was there okay
49:46
confusion um that uh that was there okay um and then Chris follows up with um how
49:48
um and then Chris follows up with um how
49:48
um and then Chris follows up with um how TS configure any other files will
49:50
TS configure any other files will
49:50
TS configure any other files will understand by the compiler um I'm not
49:53
understand by the compiler um I'm not
49:53
understand by the compiler um I'm not sure I necessarily understand the
49:55
sure I necessarily understand the
49:55
sure I necessarily understand the question
49:56
question
49:56
question um so the the typescript compiler TSC is
50:00
um so the the typescript compiler TSC is
50:00
um so the the typescript compiler TSC is built to look for TS config but you can
50:03
built to look for TS config but you can
50:03
built to look for TS config but you can also add in some additional options um
50:06
also add in some additional options um
50:06
also add in some additional options um as well um um for that um so it's it's
50:11
as well um um for that um so it's it's
50:11
as well um um for that um so it's it's basically just built to um uh to to run
50:13
basically just built to um uh to to run
50:13
basically just built to um uh to to run that
50:15
that
50:15
that so okay so let me uh let me come back
50:19
so okay so let me uh let me come back
50:19
so okay so let me uh let me come back over to um uh to to my typescript file
50:24
over to um uh to to my typescript file
50:24
over to um uh to to my typescript file and let's let's make
50:27
and let's let's make
50:27
and let's let's make this what I want to do um I'm not sure
50:31
this what I want to do um I'm not sure
50:31
this what I want to do um I'm not sure you can stay here more than five
50:34
minutes you know let me uh let me do
50:37
minutes you know let me uh let me do
50:37
minutes you know let me uh let me do this
50:40
um then let me uh we've had so many
50:44
um then let me uh we've had so many
50:44
um then let me uh we've had so many great questions that that that have come
50:46
great questions that that that have come
50:46
great questions that that that have come in I've really been wanting to um uh to
50:49
in I've really been wanting to um uh to
50:49
in I've really been wanting to um uh to answer um by the way sarab asked the the
50:51
answer um by the way sarab asked the the
50:51
answer um by the way sarab asked the the real quick question so is that part of
50:53
real quick question so is that part of
50:53
real quick question so is that part of the devops pipeline it absolutely is
50:56
the devops pipeline it absolutely is
50:56
the devops pipeline it absolutely is okay
50:58
okay
50:59
okay um so these guys are actually Microsoft
51:01
um so these guys are actually Microsoft
51:01
um so these guys are actually Microsoft MVPs as far as I can recall they are
51:05
MVPs as far as I can recall they are
51:05
MVPs as far as I can recall they are Microsoft MVPs like three four times
51:06
Microsoft MVPs like three four times
51:07
Microsoft MVPs like three four times sort of especially so yeah these are
51:09
sort of especially so yeah these are
51:09
sort of especially so yeah these are quite yeah no it's it's fantastic
51:13
quite yeah no it's it's fantastic
51:13
quite yeah no it's it's fantastic they're asking a lot of great
51:16
they're asking a lot of great
51:16
they're asking a lot of great questions
51:24
okay
51:26
okay
51:26
okay okay um I'm just like getting some code
51:28
okay um I'm just like getting some code
51:28
okay um I'm just like getting some code built and then I'm GNA then I'm going to
51:30
built and then I'm GNA then I'm going to
51:30
built and then I'm GNA then I'm going to talk to it okay so I got about four
51:31
talk to it okay so I got about four
51:31
talk to it okay so I got about four minutes left all right then let me focus
51:34
minutes left all right then let me focus
51:35
minutes left all right then let me focus in on the absolute best feature in
51:42
in on the absolute best feature in
51:42
in on the absolute best feature in typescript and that is the interface
51:45
typescript and that is the interface
51:45
typescript and that is the interface that the the
51:48
that the the
51:48
that the the interface
51:52
is it's the ability for me to Define
51:57
is it's the ability for me to Define
51:57
is it's the ability for me to Define what a data structure needs to look like
52:00
what a data structure needs to look like
52:00
what a data structure needs to look like now let me pause for just a second here
52:03
now let me pause for just a second here
52:03
now let me pause for just a second here let me talk to my C people so if you're
52:06
let me talk to my C people so if you're
52:06
let me talk to my C people so if you're familiar with interfaces in C um
52:09
familiar with interfaces in C um
52:09
familiar with interfaces in C um interfaces in C are are are relatively
52:13
interfaces in C are are are relatively
52:13
interfaces in C are are are relatively restrictive that um I create this
52:15
restrictive that um I create this
52:15
restrictive that um I create this interface but this interface has
52:18
interface but this interface has
52:18
interface but this interface has absolutely um
52:20
absolutely um
52:20
absolutely um no um no implementation that I have to
52:24
no um no implementation that I have to
52:24
no um no implementation that I have to create a class and ment that interface
52:26
create a class and ment that interface
52:26
create a class and ment that interface and then I can add on the appropriate
52:28
and then I can add on the appropriate
52:28
and then I can add on the appropriate implementation and everything else like
52:29
implementation and everything else like
52:29
implementation and everything else like there's there's a lot of work when you
52:31
there's there's a lot of work when you
52:31
there's there's a lot of work when you have an interface none of that exists in
52:34
have an interface none of that exists in
52:34
have an interface none of that exists in in typescript
52:36
in typescript
52:36
in typescript because in typescript I can very easily
52:41
because in typescript I can very easily
52:41
because in typescript I can very easily create objects on the Fly by using
52:46
Json and so as a
52:49
Json and so as a
52:49
Json and so as a result when I set up an interface in
52:52
result when I set up an interface in
52:52
result when I set up an interface in typescript and if you're familiar with C
52:54
typescript and if you're familiar with C
52:54
typescript and if you're familiar with C or familiar with with Java this
52:57
or familiar with with Java this
52:57
or familiar with with Java this interface syntax is exactly what you
53:00
interface syntax is exactly what you
53:00
interface syntax is exactly what you would expect interface give it a
53:03
would expect interface give it a
53:03
would expect interface give it a name specify a property or maybe a
53:07
name specify a property or maybe a
53:07
name specify a property or maybe a function and then specify a data type so
53:10
function and then specify a data type so
53:10
function and then specify a data type so that's what I've done here so I've said
53:12
that's what I've done here so I've said
53:12
that's what I've done here so I've said hey message has to have a property of
53:15
hey message has to have a property of
53:15
hey message has to have a property of text that's going to be of type string
53:18
text that's going to be of type string
53:18
text that's going to be of type string and then you're going to notice that I
53:20
and then you're going to notice that I
53:20
and then you're going to notice that I updated this to now have that which by
53:22
updated this to now have that which by
53:22
updated this to now have that which by the way you're also going to
53:24
the way you're also going to
53:24
the way you're also going to notice is the fact that I'm now going to
53:27
notice is the fact that I'm now going to
53:27
notice is the fact that I'm now going to get intellisense
53:30
get intellisense
53:30
get intellisense here but what you're also now going to
53:32
here but what you're also now going to
53:32
here but what you're also now going to notice here is that when I go in and I
53:36
notice here is that when I go in and I
53:36
notice here is that when I go in and I set this up and let me actually declare
53:38
set this up and let me actually declare
53:38
set this up and let me actually declare this of type message that this is now
53:42
this of type message that this is now
53:42
this of type message that this is now going to tell me right away hey you need
53:45
going to tell me right away hey you need
53:45
going to tell me right away hey you need something
53:46
something
53:46
something here you need a text
53:49
here you need a text
53:49
here you need a text property and so now it's
53:52
property and so now it's
53:52
property and so now it's requiring that I go in
53:57
and add in that text
54:01
and add in that text
54:01
and add in that text property so it's giving me this ability
54:06
property so it's giving me this ability
54:06
property so it's giving me this ability to
54:07
to
54:07
to get error messages it's giving this
54:10
get error messages it's giving this
54:10
get error messages it's giving this giving me this ability to get support so
54:13
giving me this ability to get support so
54:13
giving me this ability to get support so that way typescript is letting me know
54:15
that way typescript is letting me know
54:15
that way typescript is letting me know if I'm messing something up and more
54:19
if I'm messing something up and more
54:19
if I'm messing something up and more importantly and I'll I'll I'll close on
54:21
importantly and I'll I'll I'll close on
54:21
importantly and I'll I'll I'll close on this remember what I said before it's
54:25
this remember what I said before it's
54:25
this remember what I said before it's the JavaScript that's going to
54:27
the JavaScript that's going to
54:27
the JavaScript that's going to execute JavaScript does not have a
54:29
execute JavaScript does not have a
54:30
execute JavaScript does not have a concept of interfaces so I'm going to
54:32
concept of interfaces so I'm going to
54:32
concept of interfaces so I'm going to get interfaces over here in
54:35
get interfaces over here in
54:35
get interfaces over here in typescript but in my JavaScript what
54:37
typescript but in my JavaScript what
54:37
typescript but in my JavaScript what you're going to notice my interface is
54:39
you're going to notice my interface is
54:39
you're going to notice my interface is now gone the interface is not listed
54:43
now gone the interface is not listed
54:43
now gone the interface is not listed here interfaces are completely
54:47
here interfaces are completely
54:47
here interfaces are completely weightless there is no reason not to
54:51
weightless there is no reason not to
54:51
weightless there is no reason not to create all the interfaces that you might
54:54
create all the interfaces that you might
54:54
create all the interfaces that you might want want to Define what your data
54:57
want want to Define what your data
54:57
want want to Define what your data structure is going to be and that
54:59
structure is going to be and that
54:59
structure is going to be and that includes by the way when you're using
55:01
includes by the way when you're using
55:01
includes by the way when you're using rest endpoints that you know one of the
55:03
rest endpoints that you know one of the
55:03
rest endpoints that you know one of the biggest issues when using rest endpoints
55:04
biggest issues when using rest endpoints
55:04
biggest issues when using rest endpoints is forgetting what the data type is
55:06
is forgetting what the data type is
55:06
is forgetting what the data type is going to look like coming back create an
55:08
going to look like coming back create an
55:08
going to look like coming back create an interface for it and then now I've got
55:12
interface for it and then now I've got
55:12
interface for it and then now I've got it and then when it's compiled it's not
55:15
it and then when it's compiled it's not
55:15
it and then when it's compiled it's not adding any weight to the JavaScript it's
55:18
adding any weight to the JavaScript it's
55:18
adding any weight to the JavaScript it's completely
55:20
completely
55:20
completely weightless so there's a bit of an
55:23
weightless so there's a bit of an
55:23
weightless so there's a bit of an overview of uh of of typescript so the
55:27
overview of uh of of typescript so the
55:27
overview of uh of of typescript so the the main points there is obviously that
55:29
the main points there is obviously that
55:29
the main points there is obviously that my ts
55:30
my ts
55:30
my ts config is going to help me control how
55:33
config is going to help me control how
55:33
config is going to help me control how that's going to be emitted it's the
55:36
that's going to be emitted it's the
55:36
that's going to be emitted it's the JavaScript that's going to execute and
55:39
JavaScript that's going to execute and
55:39
JavaScript that's going to execute and the biggest advantage and there's
55:41
the biggest advantage and there's
55:41
the biggest advantage and there's obviously a lot more but the biggest
55:44
obviously a lot more but the biggest
55:44
obviously a lot more but the biggest advantage that we have of uh typescript
55:49
advantage that we have of uh typescript
55:49
advantage that we have of uh typescript is this ability right here of being able
55:52
is this ability right here of being able
55:52
is this ability right here of being able to set and CL types that's what it's all
56:02
about that's great I think Christopher
56:05
about that's great I think Christopher
56:05
about that's great I think Christopher uh you really I think this is the
56:07
uh you really I think this is the
56:07
uh you really I think this is the longest demo that I have seen for a
56:10
longest demo that I have seen for a
56:10
longest demo that I have seen for a Hello worldwide you went into so so
56:13
Hello worldwide you went into so so
56:13
Hello worldwide you went into so so depth I mean you really covered from how
56:15
depth I mean you really covered from how
56:15
depth I mean you really covered from how it's actually compiling to how it is
56:17
it's actually compiling to how it is
56:18
it's actually compiling to how it is different from the typescript and
56:19
different from the typescript and
56:20
different from the typescript and JavaScript uh what I really loved is
56:22
JavaScript uh what I really loved is
56:22
JavaScript uh what I really loved is that you have two screens opens one with
56:23
that you have two screens opens one with
56:24
that you have two screens opens one with the JavaScript and another one with the
56:25
the JavaScript and another one with the
56:25
the JavaScript and another one with the typescript wi and you're actually
56:27
typescript wi and you're actually
56:27
typescript wi and you're actually telling that hey these things are
56:28
telling that hey these things are
56:28
telling that hey these things are possible with JavaScript they're very
56:30
possible with JavaScript they're very
56:30
possible with JavaScript they're very much possible with the TPT but here are
56:32
much possible with the TPT but here are
56:32
much possible with the TPT but here are the differences so you know I can
56:34
the differences so you know I can
56:34
the differences so you know I can literally see two files on my screens
56:37
literally see two files on my screens
56:37
literally see two files on my screens and that that really makes sense and I
56:38
and that that really makes sense and I
56:38
and that that really makes sense and I think this is the very amazing way to to
56:41
think this is the very amazing way to to
56:41
think this is the very amazing way to to differentiate both both of them while
56:43
differentiate both both of them while
56:43
differentiate both both of them while they are very similar to each other
56:45
they are very similar to each other
56:45
they are very similar to each other right yeah
56:47
right yeah
56:47
right yeah and so couple of questions and we had
56:50
and so couple of questions and we had
56:50
and so couple of questions and we had many questions uh Chris I do understand
56:52
many questions uh Chris I do understand
56:52
many questions uh Chris I do understand right we have had many questions from
56:54
right we have had many questions from
56:54
right we have had many questions from the uh comments one question that I
56:56
the uh comments one question that I
56:56
the uh comments one question that I would like to ask you as a lay man is
56:59
would like to ask you as a lay man is
56:59
would like to ask you as a lay man is like we have been talking about
57:00
like we have been talking about
57:00
like we have been talking about typescript and we related it to the
57:02
typescript and we related it to the
57:02
typescript and we related it to the JavaScript and we know JavaScript runs
57:03
JavaScript and we know JavaScript runs
57:03
JavaScript and we know JavaScript runs on the client side so is it possible
57:05
on the client side so is it possible
57:05
on the client side so is it possible that we can also run typescript on the
57:07
that we can also run typescript on the
57:07
that we can also run typescript on the server side yeah absolutely yeah so
57:10
server side yeah absolutely yeah so
57:10
server side yeah absolutely yeah so remember again that it's it's not going
57:11
remember again that it's it's not going
57:11
remember again that it's it's not going to be the typescript that's going to to
57:13
to be the typescript that's going to to
57:13
to be the typescript that's going to to execute it's always going to be the uh
57:15
execute it's always going to be the uh
57:15
execute it's always going to be the uh the the JavaScript but one great
57:17
the the JavaScript but one great
57:17
the the JavaScript but one great Advantage here um is the fact that um I
57:20
Advantage here um is the fact that um I
57:20
Advantage here um is the fact that um I get complete control over the um um over
57:23
get complete control over the um um over
57:23
get complete control over the um um over the JavaScript that's going to be
57:25
the JavaScript that's going to be
57:25
the JavaScript that's going to be emitted so I can actually have it emit
57:28
emitted so I can actually have it emit
57:28
emitted so I can actually have it emit JavaScript that's going to be designed
57:29
JavaScript that's going to be designed
57:29
JavaScript that's going to be designed for the client so in the browser I can
57:31
for the client so in the browser I can
57:31
for the client so in the browser I can have it emit JavaScript that's going to
57:33
have it emit JavaScript that's going to
57:33
have it emit JavaScript that's going to be designed to run on the server and I
57:35
be designed to run on the server and I
57:35
be designed to run on the server and I can even actually like control the
57:37
can even actually like control the
57:37
can even actually like control the version of JavaScript because of course
57:40
version of JavaScript because of course
57:40
version of JavaScript because of course you know JavaScript is standardized I'm
57:42
you know JavaScript is standardized I'm
57:42
you know JavaScript is standardized I'm going to put that into air quotes um
57:45
going to put that into air quotes um
57:45
going to put that into air quotes um with ecmascript um and ecmascript of
57:48
with ecmascript um and ecmascript of
57:48
with ecmascript um and ecmascript of course has just a whole bunch of
57:50
course has just a whole bunch of
57:50
course has just a whole bunch of different versions where they add on
57:51
different versions where they add on
57:52
different versions where they add on different features and so forth and so
57:53
different features and so forth and so
57:53
different features and so forth and so what I can actually do is I can say hey
57:56
what I can actually do is I can say hey
57:56
what I can actually do is I can say hey I want this to be emitted as ecmascript
57:58
I want this to be emitted as ecmascript
57:58
I want this to be emitted as ecmascript 3 or ecmascript 6 or ecmascript 2017 and
58:03
3 or ecmascript 6 or ecmascript 2017 and
58:03
3 or ecmascript 6 or ecmascript 2017 and then um what will happen is it will then
58:06
then um what will happen is it will then
58:06
then um what will happen is it will then generate the uh the the JavaScript or
58:08
generate the uh the the JavaScript or
58:08
generate the uh the the JavaScript or the ecmascript specific for that version
58:11
the ecmascript specific for that version
58:11
the ecmascript specific for that version and so if you're using like a fancier
58:13
and so if you're using like a fancier
58:13
and so if you're using like a fancier feature maybe like async await um which
58:16
feature maybe like async await um which
58:16
feature maybe like async await um which is only supported in like newer versions
58:18
is only supported in like newer versions
58:18
is only supported in like newer versions of um of JavaScript is it will generate
58:22
of um of JavaScript is it will generate
58:22
of um of JavaScript is it will generate code that will uh that will still works
58:25
code that will uh that will still works
58:25
code that will uh that will still works it will actually do like some some
58:27
it will actually do like some some
58:27
it will actually do like some some different functions and minations and so
58:30
different functions and minations and so
58:30
different functions and minations and so forth to make all of that work so you do
58:32
forth to make all of that work so you do
58:32
forth to make all of that work so you do get complete control over how that
58:34
get complete control over how that
58:34
get complete control over how that JavaScript is going to be
58:37
emitted but that's amazing I think that
58:39
emitted but that's amazing I think that
58:40
emitted but that's amazing I think that sounds uh really convincing that you do
58:42
sounds uh really convincing that you do
58:42
sounds uh really convincing that you do have the abilities to go not just with
58:44
have the abilities to go not just with
58:45
have the abilities to go not just with the client side and discover the entire
58:47
the client side and discover the entire
58:47
the client side and discover the entire ecosystem of the development so so that
58:49
ecosystem of the development so so that
58:49
ecosystem of the development so so that is pretty convincing one more thing
58:51
is pretty convincing one more thing
58:51
is pretty convincing one more thing Chris i' would like to ask that does t
58:53
Chris i' would like to ask that does t
58:53
Chris i' would like to ask that does t Script support object oriented
58:55
Script support object oriented
58:55
Script support object oriented principles you did mention yes but is it
58:58
principles you did mention yes but is it
58:58
principles you did mention yes but is it for all the principles or just like only
59:00
for all the principles or just like only
59:00
for all the principles or just like only um inheritance or encapsulation couple
59:02
um inheritance or encapsulation couple
59:02
um inheritance or encapsulation couple of those yeah no it it it's fully
59:05
of those yeah no it it it's fully
59:05
of those yeah no it it it's fully objectoriented um so that you you get uh
59:08
objectoriented um so that you you get uh
59:08
objectoriented um so that you you get uh you get inheritance you get polymorphism
59:11
you get inheritance you get polymorphism
59:11
you get inheritance you get polymorphism you can um indicate that you want
59:13
you can um indicate that you want
59:13
you can um indicate that you want abstract classes you get the ability to
59:15
abstract classes you get the ability to
59:15
abstract classes you get the ability to do properties prototyping um the the the
59:19
do properties prototyping um the the the
59:19
do properties prototyping um the the the whole nine yards so you absolutely do
59:21
whole nine yards so you absolutely do
59:21
whole nine yards so you absolutely do get um all of that uh all of that
59:24
get um all of that uh all of that
59:24
get um all of that uh all of that capability
59:26
capability
59:26
capability that that's amazing so we we did talk
59:28
that that's amazing so we we did talk
59:28
that that's amazing so we we did talk about the benefits of transcript right
59:30
about the benefits of transcript right
59:30
about the benefits of transcript right and so now I also understand that why it
59:32
and so now I also understand that why it
59:32
and so now I also understand that why it is called the superscripts uh superet of
59:35
is called the superscripts uh superet of
59:35
is called the superscripts uh superet of the JavaScript because it adds more
59:37
the JavaScript because it adds more
59:37
the JavaScript because it adds more functionality to the existing uh
59:39
functionality to the existing uh
59:39
functionality to the existing uh javascripts that we had and of course
59:42
javascripts that we had and of course
59:42
javascripts that we had and of course since whereever you can use JavaScript
59:44
since whereever you can use JavaScript
59:44
since whereever you can use JavaScript you can definitely use typescript with
59:46
you can definitely use typescript with
59:46
you can definitely use typescript with it I I see it like extra cheese on pizza
59:48
it I I see it like extra cheese on pizza
59:48
it I I see it like extra cheese on pizza T script right yes right exactly right
59:53
T script right yes right exactly right
59:53
T script right yes right exactly right so we say some say cherry on the top I
59:55
so we say some say cherry on the top I
59:55
so we say some say cherry on the top I would say extra cheese and pizza all
59:57
would say extra cheese and pizza all
59:57
would say extra cheese and pizza all right yep
1:00:01
absolutely one last thing then I'll
1:00:03
absolutely one last thing then I'll
1:00:03
absolutely one last thing then I'll surely let you know go Christopher is we
1:00:05
surely let you know go Christopher is we
1:00:05
surely let you know go Christopher is we did talk about many advantages and
1:00:07
did talk about many advantages and
1:00:07
did talk about many advantages and features of TI scripts but uh I would
1:00:10
features of TI scripts but uh I would
1:00:10
features of TI scripts but uh I would like you to go ahead and also talk
1:00:12
like you to go ahead and also talk
1:00:12
like you to go ahead and also talk couple of the couple of the challenges
1:00:14
couple of the couple of the challenges
1:00:14
couple of the couple of the challenges that Tes script do face because I do
1:00:16
that Tes script do face because I do
1:00:16
that Tes script do face because I do know they might be there even J that's
1:00:19
know they might be there even J that's
1:00:19
know they might be there even J that's so many Frameworks and all what are the
1:00:20
so many Frameworks and all what are the
1:00:20
so many Frameworks and all what are the challenges that you even face even your
1:00:22
challenges that you even face even your
1:00:22
challenges that you even face even your demos and all yeah so the there's a
1:00:26
demos and all yeah so the there's a
1:00:26
demos and all yeah so the there's a couple of of of of of different things
1:00:29
couple of of of of of different things
1:00:29
couple of of of of of different things so um you know the the first that I
1:00:32
so um you know the the first that I
1:00:32
so um you know the the first that I would highlight is the fact that you
1:00:34
would highlight is the fact that you
1:00:34
would highlight is the fact that you know one of the things that typescript
1:00:36
know one of the things that typescript
1:00:36
know one of the things that typescript is designed to do is it's designed to
1:00:37
is designed to do is it's designed to
1:00:37
is designed to do is it's designed to catch a lot of common mistakes and
1:00:39
catch a lot of common mistakes and
1:00:39
catch a lot of common mistakes and things like that but if you're a
1:00:40
things like that but if you're a
1:00:40
things like that but if you're a JavaScript developer you almost start to
1:00:42
JavaScript developer you almost start to
1:00:42
JavaScript developer you almost start to get to a point where you're expecting
1:00:44
get to a point where you're expecting
1:00:44
get to a point where you're expecting those types of quirks um and sort of
1:00:46
those types of quirks um and sort of
1:00:46
those types of quirks um and sort of just like steer right into them and then
1:00:48
just like steer right into them and then
1:00:48
just like steer right into them and then um what will happen is that typescript
1:00:50
um what will happen is that typescript
1:00:50
um what will happen is that typescript especially as newer versions come out is
1:00:52
especially as newer versions come out is
1:00:52
especially as newer versions come out is it will get more and more and more
1:00:54
it will get more and more and more
1:00:54
it will get more and more and more restricted
1:00:55
restricted
1:00:55
restricted about what it is that you're you're able
1:00:57
about what it is that you're you're able
1:00:57
about what it is that you're you're able to do and so sometimes um it will
1:01:02
to do and so sometimes um it will
1:01:02
to do and so sometimes um it will um sometimes it it it can get a little
1:01:05
um sometimes it it it can get a little
1:01:05
um sometimes it it it can get a little bit frustrating that you know code that
1:01:07
bit frustrating that you know code that
1:01:07
bit frustrating that you know code that worked yesterday um you upgrade your
1:01:10
worked yesterday um you upgrade your
1:01:10
worked yesterday um you upgrade your typescript version now it doesn't work
1:01:11
typescript version now it doesn't work
1:01:11
typescript version now it doesn't work today because that new version of
1:01:13
today because that new version of
1:01:13
today because that new version of typescript has just gotten a little bit
1:01:15
typescript has just gotten a little bit
1:01:15
typescript has just gotten a little bit more restrictive so that can sometimes
1:01:17
more restrictive so that can sometimes
1:01:17
more restrictive so that can sometimes be a little bit of a challenge um it can
1:01:20
be a little bit of a challenge um it can
1:01:20
be a little bit of a challenge um it can also be a little bit of a challenge um
1:01:23
also be a little bit of a challenge um
1:01:23
also be a little bit of a challenge um just if you're coming from like a c
1:01:24
just if you're coming from like a c
1:01:24
just if you're coming from like a c background just because again some of
1:01:26
background just because again some of
1:01:26
background just because again some of that behavior is is is going to be a bit
1:01:29
that behavior is is is going to be a bit
1:01:29
that behavior is is is going to be a bit different that um you know like when we
1:01:31
different that um you know like when we
1:01:31
different that um you know like when we were talking about type safety that in C
1:01:33
were talking about type safety that in C
1:01:33
were talking about type safety that in C it's gonna enforce type safety but in
1:01:36
it's gonna enforce type safety but in
1:01:36
it's gonna enforce type safety but in typescript it's only going to enforce it
1:01:38
typescript it's only going to enforce it
1:01:38
typescript it's only going to enforce it here the moment your JavaScript is
1:01:40
here the moment your JavaScript is
1:01:40
here the moment your JavaScript is running though it's wild wild west so
1:01:44
running though it's wild wild west so
1:01:44
running though it's wild wild west so you do still have to kind of keep that
1:01:46
you do still have to kind of keep that
1:01:46
you do still have to kind of keep that in um um in mind there and then last but
1:01:49
in um um in mind there and then last but
1:01:49
in um um in mind there and then last but not least is the fact that there is just
1:01:51
not least is the fact that there is just
1:01:51
not least is the fact that there is just a little bit of of additional work like
1:01:53
a little bit of of additional work like
1:01:53
a little bit of of additional work like you do need to to to set up your TS
1:01:55
you do need to to to set up your TS
1:01:55
you do need to to to set up your TS config when it comes time to to deploy
1:01:58
config when it comes time to to deploy
1:01:58
config when it comes time to to deploy um your code that there is going to be
1:02:01
um your code that there is going to be
1:02:01
um your code that there is going to be need to be some form of a pipeline that
1:02:03
need to be some form of a pipeline that
1:02:03
need to be some form of a pipeline that will convert your typescript into into
1:02:05
will convert your typescript into into
1:02:05
will convert your typescript into into JavaScript um so there is just like a
1:02:07
JavaScript um so there is just like a
1:02:07
JavaScript um so there is just like a little bit more overhead of just like
1:02:09
little bit more overhead of just like
1:02:09
little bit more overhead of just like getting set up and and things like that
1:02:12
getting set up and and things like that
1:02:12
getting set up and and things like that um to me though I think all of that is
1:02:14
um to me though I think all of that is
1:02:14
um to me though I think all of that is worth it that the benefits far outweigh
1:02:17
worth it that the benefits far outweigh
1:02:17
worth it that the benefits far outweigh the um far outweigh the costs there um
1:02:21
the um far outweigh the costs there um
1:02:21
the um far outweigh the costs there um but um but but yeah so I I I would I
1:02:24
but um but but yeah so I I I would I
1:02:24
but um but but yeah so I I I would I would call those out as the um uh as the
1:02:27
would call those out as the um uh as the
1:02:27
would call those out as the um uh as the as the downside besides the the obvious
1:02:29
as the downside besides the the obvious
1:02:29
as the downside besides the the obvious which is the fact that you like if you
1:02:31
which is the fact that you like if you
1:02:31
which is the fact that you like if you have a team of developers and they're
1:02:32
have a team of developers and they're
1:02:32
have a team of developers and they're all JavaScript developers and you decide
1:02:34
all JavaScript developers and you decide
1:02:35
all JavaScript developers and you decide hey now we're going to start doing
1:02:36
hey now we're going to start doing
1:02:36
hey now we're going to start doing typescript they're all gonna have to be
1:02:37
typescript they're all gonna have to be
1:02:37
typescript they're all gonna have to be upskilled so I mean that's that's also
1:02:38
upskilled so I mean that's that's also
1:02:39
upskilled so I mean that's that's also of course you know a bit of a a bit of a
1:02:40
of course you know a bit of a a bit of a
1:02:40
of course you know a bit of a a bit of a downside so but those that's that's what
1:02:42
downside so but those that's that's what
1:02:42
downside so but those that's that's what I would call
1:02:43
I would call
1:02:43
I would call out that's great but I think uh but I
1:02:46
out that's great but I think uh but I
1:02:46
out that's great but I think uh but I think that moving to T food is not going
1:02:48
think that moving to T food is not going
1:02:48
think that moving to T food is not going to be tough because most of it comes
1:02:49
to be tough because most of it comes
1:02:49
to be tough because most of it comes from the JavaScript so it's totally fine
1:02:51
from the JavaScript so it's totally fine
1:02:51
from the JavaScript so it's totally fine um I do have a certif that is getting
1:02:54
um I do have a certif that is getting
1:02:54
um I do have a certif that is getting started with chk from 2015 though next
1:02:57
started with chk from 2015 though next
1:02:57
started with chk from 2015 though next to me you're not going to pull that in
1:02:59
to me you're not going to pull that in
1:02:59
to me you're not going to pull that in the live show but uh yeah I think uh
1:03:02
the live show but uh yeah I think uh
1:03:02
the live show but uh yeah I think uh many of you even in live show have seen
1:03:03
many of you even in live show have seen
1:03:04
many of you even in live show have seen your MBA courses I think you're pretty
1:03:05
your MBA courses I think you're pretty
1:03:06
your MBA courses I think you're pretty famous across the globe Christopher
1:03:10
famous across the globe Christopher
1:03:10
famous across the globe Christopher yeah that's great so uh I think that the
1:03:14
yeah that's great so uh I think that the
1:03:14
yeah that's great so uh I think that the many more I think the as long as we keep
1:03:16
many more I think the as long as we keep
1:03:16
many more I think the as long as we keep it right the questions will keep on
1:03:18
it right the questions will keep on
1:03:18
it right the questions will keep on coming up so I think we'll have to wrap
1:03:20
coming up so I think we'll have to wrap
1:03:20
coming up so I think we'll have to wrap it right we we anyway we have anyway
1:03:23
it right we we anyway we have anyway
1:03:23
it right we we anyway we have anyway taken three more minutes of the precious
1:03:26
taken three more minutes of the precious
1:03:26
taken three more minutes of the precious calendar time we booked for you right
1:03:29
calendar time we booked for you right
1:03:29
calendar time we booked for you right yeah yeah I mean I I can stick around
1:03:30
yeah yeah I mean I I can stick around
1:03:30
yeah yeah I mean I I can stick around for a couple more minutes if if if you
1:03:32
for a couple more minutes if if if you
1:03:32
for a couple more minutes if if if you like I mean I I we can do an entire five
1:03:36
like I mean I I we can do an entire five
1:03:36
like I mean I I we can do an entire five video series I see you guys doing that
1:03:38
video series I see you guys doing that
1:03:38
video series I see you guys doing that on MBA right five six hours of content
1:03:41
on MBA right five six hours of content
1:03:41
on MBA right five six hours of content divided into different sessions so I do
1:03:44
divided into different sessions so I do
1:03:44
divided into different sessions so I do remember that jump start oh yeah getting
1:03:47
remember that jump start oh yeah getting
1:03:47
remember that jump start oh yeah getting started I do remember all that so that
1:03:50
started I do remember all that so that
1:03:50
started I do remember all that so that was an amazing session Christopher we
1:03:52
was an amazing session Christopher we
1:03:52
was an amazing session Christopher we did start from uh from very scratch we
1:03:55
did start from uh from very scratch we
1:03:55
did start from uh from very scratch we did talk about what is Tri we saw the
1:03:57
did talk about what is Tri we saw the
1:03:57
did talk about what is Tri we saw the demo we saw the differences we saw the
1:03:59
demo we saw the differences we saw the
1:03:59
demo we saw the differences we saw the similarity what are the challenges you
1:04:02
similarity what are the challenges you
1:04:02
similarity what are the challenges you we didn't have a demo demon right that
1:04:06
we didn't have a demo demon right that
1:04:06
we didn't have a demo demon right that that's great but indeed we had some from
1:04:08
that's great but indeed we had some from
1:04:08
that's great but indeed we had some from the comments some coming with a really
1:04:11
the comments some coming with a really
1:04:11
the comments some coming with a really good question so that was an amazing
1:04:13
good question so that was an amazing
1:04:13
good question so that was an amazing session all put together I as a host
1:04:15
session all put together I as a host
1:04:15
session all put together I as a host felt that it was one of the most
1:04:16
felt that it was one of the most
1:04:16
felt that it was one of the most interactive session that we have had in
1:04:17
interactive session that we have had in
1:04:17
interactive session that we have had in the recent past and I think the viewers
1:04:20
the recent past and I think the viewers
1:04:20
the recent past and I think the viewers just loved it uh Christopher I on behalf
1:04:23
just loved it uh Christopher I on behalf
1:04:23
just loved it uh Christopher I on behalf of entire CP Corner Community and its
1:04:26
of entire CP Corner Community and its
1:04:26
of entire CP Corner Community and its millions of users would like to thank
1:04:28
millions of users would like to thank
1:04:28
millions of users would like to thank you for your very valuable time and the
1:04:30
you for your very valuable time and the
1:04:30
you for your very valuable time and the contribution to the what you have made
1:04:32
contribution to the what you have made
1:04:32
contribution to the what you have made to the community uh we just cannot wait
1:04:35
to the community uh we just cannot wait
1:04:35
to the community uh we just cannot wait to have you back once again whenever
1:04:37
to have you back once again whenever
1:04:37
to have you back once again whenever you're available and uh just thank you
1:04:40
you're available and uh just thank you
1:04:40
you're available and uh just thank you and it's for me personally it's an honor
1:04:42
and it's for me personally it's an honor
1:04:42
and it's for me personally it's an honor for me to sit this side and host you
1:04:44
for me to sit this side and host you
1:04:44
for me to sit this side and host you I've always seen you on the on the
1:04:47
I've always seen you on the on the
1:04:47
I've always seen you on the on the recorded videos and personally it's an
1:04:49
recorded videos and personally it's an
1:04:49
recorded videos and personally it's an honor for me and uh let's see we hope to
1:04:53
honor for me and uh let's see we hope to
1:04:53
honor for me and uh let's see we hope to meet in person and maybe in the live
1:04:55
meet in person and maybe in the live
1:04:55
meet in person and maybe in the live next live show yeah absolutely thank you
1:04:57
next live show yeah absolutely thank you
1:04:57
next live show yeah absolutely thank you so much for for for hosting me Stephen
1:05:00
so much for for for hosting me Stephen
1:05:00
so much for for for hosting me Stephen it's it's it's been an honor to to to be
1:05:02
it's it's it's been an honor to to to be
1:05:02
it's it's it's been an honor to to to be here um and and you know thank you so
1:05:05
here um and and you know thank you so
1:05:05
here um and and you know thank you so much for for for the kind words um I'm
1:05:07
much for for for the kind words um I'm
1:05:07
much for for for the kind words um I'm more than happy to to come back and talk
1:05:10
more than happy to to come back and talk
1:05:10
more than happy to to come back and talk more about typescript or talk about
1:05:11
more about typescript or talk about
1:05:11
more about typescript or talk about python or really anything else so yeah
1:05:15
python or really anything else so yeah
1:05:15
python or really anything else so yeah I'm I'm very happy to to come
1:05:18
I'm I'm very happy to to come
1:05:18
I'm I'm very happy to to come back thank you thank you everyone thank
1:05:20
back thank you thank you everyone thank
1:05:20
back thank you thank you everyone thank you everyone who has joined us today uh
1:05:22
you everyone who has joined us today uh
1:05:22
you everyone who has joined us today uh just to keep you posted we have a
1:05:24
just to keep you posted we have a
1:05:24
just to keep you posted we have a virtual conference 24 hours virtual
1:05:26
virtual conference 24 hours virtual
1:05:26
virtual conference 24 hours virtual conference coming on 14th of July that
1:05:28
conference coming on 14th of July that
1:05:28
conference coming on 14th of July that is in partnership with the UNICEF to
1:05:31
is in partnership with the UNICEF to
1:05:31
is in partnership with the UNICEF to raise the funds for those affected with
1:05:33
raise the funds for those affected with
1:05:33
raise the funds for those affected with by the covid-19 so it's a Microsoft
1:05:36
by the covid-19 so it's a Microsoft
1:05:36
by the covid-19 so it's a Microsoft Technologies 24 hours virtual conference
1:05:39
Technologies 24 hours virtual conference
1:05:39
Technologies 24 hours virtual conference with multilingual seven tracks and over
1:05:41
with multilingual seven tracks and over
1:05:41
with multilingual seven tracks and over 100 speakers so uh you can just go to C
1:05:45
100 speakers so uh you can just go to C
1:05:45
100 speakers so uh you can just go to C on website get details over there and uh
1:05:48
on website get details over there and uh
1:05:48
on website get details over there and uh thank you once again I think I've said
1:05:50
thank you once again I think I've said
1:05:50
thank you once again I think I've said it many more times already I think it's
1:05:52
it many more times already I think it's
1:05:52
it many more times already I think it's time to
1:05:54
time to
1:05:54
time to to R right just don't I just play the
1:05:56
to R right just don't I just play the
1:05:56
to R right just don't I just play the outro I don't want you to leave I just
1:05:58
outro I don't want you to leave I just
1:05:58
outro I don't want you to leave I just play the outro then the live show ends
1:06:00
play the outro then the live show ends
1:06:00
play the outro then the live show ends right some sometimes people would just
1:06:02
right some sometimes people would just
1:06:02
right some sometimes people would just close it okay thank you Christopher
1:06:05
close it okay thank you Christopher
1:06:05
close it okay thank you Christopher [Music]
1:06:08
[Music]
1:06:08
[Music] bye
#Programming
#Computer Education
#Open Online Courses


