1
00:00:02,190 --> 00:00:05,620
There was a lot of talking about interfaces and classes now.

2
00:00:05,640 --> 00:00:13,560
Now let's look under the hood and see what javascript actually produces or offers as an alternative

3
00:00:13,560 --> 00:00:15,320
to interface.

4
00:00:15,330 --> 00:00:21,630
We learned that four class code Indiana depends on the word you were compiling for if you compile for

5
00:00:21,660 --> 00:00:29,120
iOS 6 year in it he has conflict then our output would use the class keyword since we compile 4 is 5

6
00:00:29,130 --> 00:00:33,480
here We instead see this work around using constructor functions in the end.

7
00:00:33,480 --> 00:00:36,530
What however happens for interfaces.

8
00:00:36,720 --> 00:00:41,820
Well let's have a look at the app J File and there you see nothing.

9
00:00:41,820 --> 00:00:46,410
You'll not see any translations for our interfaces.

10
00:00:46,410 --> 00:00:54,810
Add a friend named readable you don't find these things anywhere in app J.S. you just find our function

11
00:00:54,810 --> 00:00:59,180
here you find our constructor function for the person object.

12
00:00:59,220 --> 00:01:06,330
So basically that translation for the person class anti Abra code you find no reference at any interface

13
00:01:07,030 --> 00:01:08,260
and there's a good reason for that.

14
00:01:08,310 --> 00:01:13,600
There is no translation for interfaces javascript doesn't know about this feature.

15
00:01:13,710 --> 00:01:20,190
It's a pure typescript feature only available during development and compilation so you can use it to

16
00:01:20,190 --> 00:01:21,550
improve your code.

17
00:01:21,660 --> 00:01:27,870
No output for that will end up in your javascript files though so therefore it's a pure development

18
00:01:27,870 --> 00:01:30,720
feature helping you to write better code.

19
00:01:30,720 --> 00:01:38,680
Clearly structured code following clear rules at runtime no trace will be left of these interfaces.

20
00:01:38,760 --> 00:01:45,420
You'll not see anything related to the interfaces in your code only functions classes and all the other

21
00:01:45,420 --> 00:01:49,270
code is compiled and output interfaces are simply dumped.

22
00:01:49,290 --> 00:01:54,360
You could say they're used during compilation to check your code and then they're ignored.

23
00:01:54,360 --> 00:01:56,430
There is nothing that would be output for them.
