├── 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; --------------------------------------------------------------------------------