├── README.md
├── tutorial10.ts
├── tutorial11.ts
├── tutorial12.ts
├── tutorial13.ts
├── tutorial14.ts
├── tutorial15.ts
├── tutorial16.ts
├── tutorial17.ts
├── tutorial18.ts
├── tutorial19.ts
├── tutorial20.ts
├── tutorial21.ts
├── tutorial22.ts
├── tutorial23.ts
├── tutorial26
├── index.html
├── moduleA.js
└── moduleB.js
├── tutorial27
├── moduleA.js
└── moduleB.js
├── tutorial28
├── moduleA.js
└── moduleB.js
├── tutorial29.ts
├── tutorial30.ts
├── tutorial31.ts
├── tutorial32.ts
├── tutorial33.ts
├── tutorial34.ts
├── tutorial35.ts
├── tutorial36.ts
├── tutorial37.ts
├── tutorial38.ts
├── tutorial39.ts
├── tutorial40.ts
├── tutorial42.ts
├── tutorial43.ts
├── tutorial44.ts
├── tutorial45.ts
├── tutorial46.ts
├── tutorial47.ts
├── tutorial48.ts
├── tutorial5.ts
├── tutorial6.ts
├── tutorial7.ts
├── tutorial8.ts
└── tutorial9.ts
/README.md:
--------------------------------------------------------------------------------
1 | # ES2015-Typescript-Tutorial
2 | All the files pertaining to the Youtube tutorial series
3 |
--------------------------------------------------------------------------------
/tutorial10.ts:
--------------------------------------------------------------------------------
1 | var getRegvalue = function(){
2 | return 10;
3 | }
4 | console.log(getRegvalue());
5 |
6 | /*
7 | const getArrowvalue = () => {
8 | return 10;
9 | }
10 |
11 | const getArrowvalue = m => {
12 | return m;
13 | }
14 |
15 | */
16 |
17 | const getArrowvalue = (m,bonus) => 10*m+bonus;
18 |
19 | console.log(getArrowvalue(5,50));
20 |
21 | console.log(typeof getArrowvalue);
--------------------------------------------------------------------------------
/tutorial11.ts:
--------------------------------------------------------------------------------
1 | var employee = {
2 | id: 1,
3 | greet: function(){
4 |
5 | setTimeout(() => {console.log(this.id)}, 1000) ;
6 | }
7 | };
8 | employee.greet();
--------------------------------------------------------------------------------
/tutorial12.ts:
--------------------------------------------------------------------------------
1 | let percentBonus = () => 0.1;
2 | let getValue = function(value=10, bonus=value*percentBonus()){
3 | console.log(value+bonus);
4 | console.log(arguments.length);
5 | };
6 | getValue();
7 | getValue(20);
8 | getValue(20,30);
9 | //getValue(undefined,30);
--------------------------------------------------------------------------------
/tutorial13.ts:
--------------------------------------------------------------------------------
1 |
2 | let displayColors = function(message, ...colors){
3 |
4 | console.log(message);
5 | console.log(colors);
6 |
7 |
8 | for(let i in colors){
9 | console.log(colors[i]);
10 |
11 | }
12 | }
13 |
14 | let message = "List of Colors"
15 |
16 | displayColors(message, 'Red');
17 | displayColors(message, 'Red','Blue');
18 | displayColors(message, 'Red','Blue','Green');
--------------------------------------------------------------------------------
/tutorial14.ts:
--------------------------------------------------------------------------------
1 |
2 | let displayColors = function(message, ...colors){
3 |
4 | console.log(message);
5 | // console.log(colors);
6 |
7 |
8 | for(let i in colors){
9 | console.log(colors[i]);
10 |
11 | }
12 | }
13 |
14 | let message = "List of Colors"
15 |
16 | let colorArray = ['Orange','Yellow','Indigo'];
17 | displayColors(message, ...colorArray)
18 |
19 | //displayColors(message, 'Red');
20 | //displayColors(message, 'Red','Blue');
21 | //displayColors(message, 'Red','Blue','Green');
22 |
23 |
--------------------------------------------------------------------------------
/tutorial15.ts:
--------------------------------------------------------------------------------
1 | let firstname = "Chandler";
2 | let lastname = "Bings";
3 |
4 | let person = {
5 | firstname,
6 | lastname
7 | };
8 |
9 | function createPerson(firstname, lastname, age){
10 | let fullname = firstname + " " + lastname;
11 | return {
12 | firstname,
13 | lastname,
14 | fullname,
15 | isSenior(){
16 | return age>60;
17 | }}
18 | }
19 |
20 | let p = createPerson("Ross","Geller", 62);
21 | console.log(p.firstname);
22 | console.log(p.lastname);
23 | console.log(p.fullname);
24 | console.log(p.isSenior());
25 |
26 |
27 |
28 | //console.log(person.firstname);
29 | //console.log(person.lastname);
30 |
--------------------------------------------------------------------------------
/tutorial16.ts:
--------------------------------------------------------------------------------
1 | let ln = "last name";
2 | let person = {
3 | "first name": "Chandler",
4 | [ln]: "Bing"
5 | };
6 | console.log(person);
7 |
8 |
9 |
--------------------------------------------------------------------------------
/tutorial17.ts:
--------------------------------------------------------------------------------
1 | let employee = ["Chandler", "Bing", "Female"];
2 |
3 | let [fname, lname, gender="Male"] = employee;
4 |
5 | console.log(fname);
6 | console.log(lname);
7 | console.log(gender);
8 |
--------------------------------------------------------------------------------
/tutorial18.ts:
--------------------------------------------------------------------------------
1 | //let employee = ["Chandler", "Bing", "Female"];
2 | //let [fname, lname, gender="Male"] = employee;
3 | let employee = {
4 | fname: "Chandler",
5 | lname: "Bing",
6 | gender: "Male"
7 | };
8 |
9 | let {fname, lname, gender} = employee;
10 |
11 |
12 |
13 | console.log(fname);
14 | console.log(lname);
15 | console.log(gender);
16 |
17 |
18 | /* With Alias
19 | let {fname: f, lname: l, gender: g} = employee;
20 |
21 |
22 |
23 | console.log(f);
24 | console.log(l);
25 | console.log(g);
26 | */
--------------------------------------------------------------------------------
/tutorial19.ts:
--------------------------------------------------------------------------------
1 |
2 | let user = "Chandler";
3 |
4 | let greet = `Welcome 'single' "double" ${user} to ES2015
5 | This is the second line.
6 | Third and so on.
7 |
8 | `;
9 |
10 | console.log(greet);
11 |
--------------------------------------------------------------------------------
/tutorial20.ts:
--------------------------------------------------------------------------------
1 |
2 | let colors = ['Red', 'Blue', 'Green'];
3 |
4 | for(let index in colors){
5 | console.log(colors[index]);
6 |
7 | }
8 |
9 | for(let color of colors){
10 | console.log(color);
11 |
12 | }
13 |
14 | let letters = "ABC";
15 |
16 | for(let letter of letters){
17 | console.log(letter);
18 |
19 | }
--------------------------------------------------------------------------------
/tutorial21.ts:
--------------------------------------------------------------------------------
1 |
2 | class Person{
3 | greet(){}
4 | }
5 | let p = new Person();
6 |
7 | console.log(p.greet === Person.prototype.greet);
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tutorial22.ts:
--------------------------------------------------------------------------------
1 | class Person{
2 | constructor(name){
3 | this.name = name;
4 | console.log(this.name + " Constructor");
5 |
6 | }
7 | static staticMethod(){
8 | console.log("Static Method");
9 |
10 | }
11 | greetPerson(){
12 | console.log("Hello " + this.name);
13 |
14 | }
15 | }
16 | let p = new Person("Chandler");
17 | Person.staticMethod();
18 | p.greetPerson();
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tutorial23.ts:
--------------------------------------------------------------------------------
1 | class Person{
2 | constructor(name){
3 | console.log(name + " Person constructor");
4 |
5 | }
6 | getID(){
7 | return 10;
8 | }
9 | }
10 |
11 | class Employee extends Person{
12 | constructor(name){
13 | super(name);
14 | console.log(name + " Employee constructor");
15 |
16 | }
17 | getID(){
18 | return super.getID();
19 | }
20 | }
21 |
22 | let e = new Employee("Chandler");
23 | console.log(e.getID());
24 |
--------------------------------------------------------------------------------
/tutorial26/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | ES6 Modules
4 |
5 |
6 |
7 |
8 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/tutorial26/moduleA.js:
--------------------------------------------------------------------------------
1 |
2 | import {fname, lname, obj} from './moduleB.js' // log Module B laoded
3 |
4 | obj.name = "Ross";
5 | console.log(obj.name);
6 | console.log(` ${fname} ${lname}`);
--------------------------------------------------------------------------------
/tutorial26/moduleB.js:
--------------------------------------------------------------------------------
1 | let fname = "Chandler";
2 | let lname = "Bing";
3 |
4 | let obj = {
5 | name: "Joey"
6 | };
7 | console.log('Module B loaded');
8 | export {fname, lname, obj}
--------------------------------------------------------------------------------
/tutorial27/moduleA.js:
--------------------------------------------------------------------------------
1 | import {default as f } from './moduleB.js'
2 |
3 | console.log(f);
--------------------------------------------------------------------------------
/tutorial27/moduleB.js:
--------------------------------------------------------------------------------
1 | let fname = "Chandler";
2 |
3 | export default fname;
--------------------------------------------------------------------------------
/tutorial28/moduleA.js:
--------------------------------------------------------------------------------
1 | import {greet, GreetMessage} from './moduleB.js'
2 |
3 | greet("Hello World");
4 |
5 | let gm = new GreetMessage();
6 | gm.greet();
--------------------------------------------------------------------------------
/tutorial28/moduleB.js:
--------------------------------------------------------------------------------
1 | export function greet(message){
2 | console.log(message);
3 | };
4 |
5 | export class GreetMessage{
6 | constructor(){
7 | console.log("Constructor");
8 | }
9 | greet(){
10 | console.log("Greet function");
11 | }
12 | };
--------------------------------------------------------------------------------
/tutorial29.ts:
--------------------------------------------------------------------------------
1 | let mySet = Object.create(null);
2 | mySet.id = 0;
3 | if(mySet.id){
4 | console.log("id exists");
5 |
6 | }
7 |
8 | let myMap = Object.create(null);
9 | myMap.name ="Chandler";
10 | let val = myMap.name;
11 | console.log(val);
12 |
13 | myMap[100] = "Hello";
14 | console.log(myMap["100"]);
15 |
16 | let ob1 = {};
17 | let ob2 = {};
18 |
19 | myMap[ob1] = "World";
20 |
21 | console.log(myMap[ob2]);
22 |
23 | console.log(ob1.toString());
24 | console.log(ob2.toString());
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/tutorial30.ts:
--------------------------------------------------------------------------------
1 | let mySet = new Set();
2 | let ob1 = {};
3 | let ob2 = {};
4 |
5 | mySet.add("Hello");
6 | mySet.add(1);
7 | mySet.add(ob1);
8 | mySet.add(ob2);
9 | console.log(mySet.size);
10 |
11 | let newSet = new Set([1,2,3,4,4,4]);
12 | console.log(newSet.size);
13 |
14 | let chainSet = new Set().add("hello").add("world");
15 | console.log(chainSet.size);
16 |
17 | console.log(newSet.delete(1));
18 | console.log(newSet.size);
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tutorial31.ts:
--------------------------------------------------------------------------------
1 | let set = new WeakSet();
2 | let key = {}
3 | set.add(key);
4 | console.log(set.has(key));
5 |
6 |
--------------------------------------------------------------------------------
/tutorial32.ts:
--------------------------------------------------------------------------------
1 |
2 | let myMap = new Map();
3 |
4 | myMap.set("fname","Chandler");
5 | myMap.set("age", 30);
6 |
7 | console.log(myMap.get("fname"));
8 |
9 | let ob1 = {};
10 | let ob2 = {};
11 |
12 | myMap.set(ob1, 10);
13 | myMap.set(ob2, 20);
14 |
15 | console.log(myMap.get(ob1));
16 | myMap.delete("fname");
17 | myMap.clear();
18 |
19 | console.log(myMap.size);
20 | console.log(myMap.has("fname"));
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tutorial33.ts:
--------------------------------------------------------------------------------
1 | let myMap = new Map([
2 | ["fname", "Chandler"],
3 | ["lname", "Bing"]
4 | ]);
5 |
6 | for(let [key,value] of myMap.entries()){
7 | console.log(`${key} -> ${value}`);
8 | }
9 |
10 | for(let value of myMap.values()){
11 | console.log(value);
12 | }
13 |
14 | for(let key of myMap.keys()){
15 | console.log(key);
16 | }
--------------------------------------------------------------------------------
/tutorial34.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | var numbers = [2,4,6,8];
4 | numbers.forEach(arrayFunction);
5 | function arrayFunction(element,index,array){
6 | console.log("arr["+index+"]= "+element);
7 | };
8 |
9 |
10 |
11 | /*
12 | let myMap = new Map([["fname","Chandler"],
13 | ["lname","Bing"]]);
14 | myMap.forEach(mapFunction);
15 | function mapFunction(value,key,callingMap){
16 | console.log(key+" "+value);
17 | console.log(myMap === callingMap);
18 | }
19 | */
20 |
21 |
22 |
23 |
24 | /*
25 | let mySet = new Set([1,2,3]);
26 | mySet.forEach(setFunction);
27 | function setFunction(value,key,callingSet){
28 | console.log(key+" "+value);
29 | console.log(mySet === callingSet);
30 | }
31 | */
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tutorial35.ts:
--------------------------------------------------------------------------------
1 | let myMap = new WeakMap();
2 | let ob1 = {};
3 | myMap.set(ob1,"Hello World");
4 | console.log(myMap.get(ob1));
5 | ob1 = null;
--------------------------------------------------------------------------------
/tutorial36.ts:
--------------------------------------------------------------------------------
1 | let s = Symbol("First Symbol");
2 | console.log(typeof s);
3 | console.log(s.toString());
4 |
5 | let s2 = Symbol("Test");
6 | let s3 = Symbol("Test");
7 |
8 | console.log(s2===s3);
9 |
10 | let s4 = Symbol.for('RegSymbol');
11 | let s5 = Symbol.for('RegSymbol');
12 |
13 | console.log(s4===s5);
14 | console.log(Symbol.keyFor(s4));
15 |
16 | let fname = Symbol("FirstName");
17 | let person = {
18 | [fname]: "Chandler";
19 | };
20 |
21 | console.log(Object.getOwnPropertyNames(person));
22 | console.log(Object.getOwnPropertySymbols(person));
23 |
24 |
--------------------------------------------------------------------------------
/tutorial37.ts:
--------------------------------------------------------------------------------
1 | /*
2 | for..of --> iterator metthod --> symbol.iterator*/
3 |
4 | let str = "Hello";
5 | let arr= [1,2,3];
6 | let num =5;
7 | let obj = {name:"Chandler"};
8 |
9 | console.log("For string -" + typeof str[Symbol.iterator]);
10 | console.log("For array -" + typeof arr[Symbol.iterator]);
11 | console.log("For number -" + typeof num[Symbol.iterator]);
12 | console.log("For object -" + typeof obj[Symbol.iterator]);
--------------------------------------------------------------------------------
/tutorial38.ts:
--------------------------------------------------------------------------------
1 | let iterable = [1,2,3];
2 |
3 | function createIterator(array){
4 | let count = 0;
5 | return{
6 | next: function(){
7 | return count < array.length?
8 | {value: array[count++], done:false}:
9 | {value: undefined, done:true};
10 | }
11 | }
12 | }
13 |
14 | let myIterator = createIterator(iterable);
15 |
16 | console.log(myIterator.next());
17 | console.log(myIterator.next());
18 | console.log(myIterator.next());
19 | console.log(myIterator.next());
20 |
21 |
22 |
23 | /*Iterable {
24 | [symbol.Iterator]() : Iterator
25 | }
26 |
27 | Iterator{
28 | next() : IResultObj
29 | }
30 | IResultObj{
31 | value: any
32 | done: bool
33 | }
34 |
35 | */
--------------------------------------------------------------------------------
/tutorial39.ts:
--------------------------------------------------------------------------------
1 | let person = {
2 | fname: "Chandler",
3 | lname: "Bing"
4 | };
5 |
6 | person[Symbol.iterator] = function(){
7 | let properties = Object.keys(person);
8 | let count = 0;
9 | let isDone = false;
10 | let next = () => {
11 | if(count>=properties.length){
12 | isDone = true;
13 | }
14 | return{done: isDone, value: this[properties[count++]]};
15 | }
16 | return {next};
17 |
18 | };
19 | for (let p of person){
20 | console.log(p);
21 | }
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tutorial40.ts:
--------------------------------------------------------------------------------
1 | function *createGenerator(){
2 | yield 1;
3 | console.log("After 1st yield");
4 | yield 2;
5 | }
6 |
7 | let myGen = createGenerator();
8 |
9 | console.log(myGen.next());
10 | console.log(myGen.next());
11 | console.log(myGen.next());
--------------------------------------------------------------------------------
/tutorial42.ts:
--------------------------------------------------------------------------------
1 | var n1 = 10;
2 |
3 | //n1 = "Hi";
4 |
5 |
6 | var n2 = n1 + "Hello";
7 | console.log(n2);
8 |
--------------------------------------------------------------------------------
/tutorial43.ts:
--------------------------------------------------------------------------------
1 | var n1 = 10;
2 |
3 | //n1 = "Hello";
4 |
5 | //var n2 = n1 + 10;
6 | var n2 = n1 + "Hello";
7 | console.log(n2);
--------------------------------------------------------------------------------
/tutorial44.ts:
--------------------------------------------------------------------------------
1 | var info: any;
2 | info = 10;
3 | info = "Hello";
4 | info = true;
5 |
6 | var information;
--------------------------------------------------------------------------------
/tutorial45.ts:
--------------------------------------------------------------------------------
1 | enum EyeColor {Brown=1, Black=5, Blue=10};
2 |
3 | var myEyeColor = EyeColor.Brown;
4 |
5 | console.log(myEyeColor);
6 | console.log(EyeColor[myEyeColor]);
7 |
--------------------------------------------------------------------------------
/tutorial46.ts:
--------------------------------------------------------------------------------
1 | let strArr1: string[] = ['Hello','world'];
2 | let strArr2: Array = ['Hello', 'world'];
3 |
4 | let anyArr: any[] = ['Hello', 10, true];
5 |
6 | let myTuple: [string, number] = ["Hi", 10];
7 | console.log(myTuple[0]);
8 | console.log(myTuple[1]);
9 | myTuple[2] = 100;
10 | console.log(myTuple[2]);
11 |
12 |
--------------------------------------------------------------------------------
/tutorial47.ts:
--------------------------------------------------------------------------------
1 | class Person{
2 | public fname: string;
3 | public lname: string;
4 | constructor(fname: string, lname: string) {
5 | this.fname = fname;
6 | this.lname = lname;
7 | }
8 | };
9 |
10 | class Person1{
11 | constructor(public fname: string, public lname:string){
12 |
13 | }
14 | }
--------------------------------------------------------------------------------
/tutorial48.ts:
--------------------------------------------------------------------------------
1 | interface Person{
2 | fname: string;
3 | lname: string;
4 | age?: number;
5 | }
6 |
7 | let employee1: Person = {
8 | fname:"Chandler",
9 | lname:"Bing",
10 | age:30
11 | }
12 |
13 | let employee2: Person ={
14 | fname:"Ross",
15 | lname:"Geller"
16 | }
--------------------------------------------------------------------------------
/tutorial5.ts:
--------------------------------------------------------------------------------
1 | function greetPerson(name){
2 | if(name === "Chandler"){
3 | var greet = "Hello Chandler";
4 | }else{
5 | var greet = "Hi there";
6 | }
7 | console.log(greet);
8 | }
9 | greetPerson("Chandler");
--------------------------------------------------------------------------------
/tutorial6.ts:
--------------------------------------------------------------------------------
1 | function greetPerson(name){
2 | let greet;
3 | if(name === "Chandler"){
4 | let greet = "Hello Chandler";
5 | }else{
6 | let greet = "Hi there";
7 | }
8 | console.log(greet);
9 |
10 | }
11 | greetPerson("Chandler");
12 |
13 | var a=1;
14 | var b=2;
15 | if(a === 1){
16 | var a=10;
17 | let b = 20;
18 | console.log(a); //10
19 | console.log(b); //20
20 | }
21 | console.log(a); //10
22 | console.log(b); //2
23 |
24 | var c=1;
25 | var c=2;
26 |
27 | let d=1;
28 | //let d=2;
--------------------------------------------------------------------------------
/tutorial7.ts:
--------------------------------------------------------------------------------
1 | for(var i=1; i<=5; i++){
2 | setTimeout(function(){console.log(i);},1000);
3 | }
4 |
5 | for(let i=1; i<=5; i++){
6 | setTimeout(function(){console.log(i);},1000);
7 | }
--------------------------------------------------------------------------------
/tutorial8.ts:
--------------------------------------------------------------------------------
1 | let num1;
2 | const num2 = 10;
3 |
4 | const obj1 = {
5 | name:"Codevolution"
6 | };
7 | console.log(obj1.name);
8 |
9 | // obj1 = {}; Error
10 |
11 | obj1.name = "Chandler";
12 | console.log(obj1.name);
--------------------------------------------------------------------------------
/tutorial9.ts:
--------------------------------------------------------------------------------
1 | const PI = 3.14;
2 | const MAX_RADIUS = 10;
--------------------------------------------------------------------------------