DEV Community

pawan deore
pawan deore

Posted on

Learning TypeScript personal notes

let str: string = 'pawan'; let no:number = 30 let flag: boolean = true; let d: null = null; let e: undefined = undefined; console.log(no) console.log(str) // Array const cars:string[] = ['a','b','c'] const nums:number[] = [1,2,3,4] const bool: boolean[] = [true, false]; function printCar(models : string[]){ models.forEach(element => { console.log(element) }); } printCar(cars) function callIt(model: number | string){ console.log(model) } callIt('true') // TYPE type mo = number | string function printtCar(model: mo){ console.log(model) } printtCar(2) // Function Type function pr(cb: Function){ cb(20,'bmw') } type voo = number | string pr((no : number, str : String )=> console.log(no, str)) // Interfaces // large scale applications type Car = { make: string, model : string | number, sedan: boolean } interface Carr { make: string; model : string | number; sedan: boolean; //functions accelerate : () => void; decellarate() : void; } // Objects function voe(obj_name: {param_a?: string, param_b : number}):void{ console.log(obj_name.param_b) } // interface Bv { // nm: string // } // interface b2 extends By{ // nm2: number // } // Special Types let car:any = 'bmw' car = 'honda' car = true car = 22 // unknown // let a: unknown = document.getElementById('my-element'); // we can throw what ever we want with unknow type // void // function returns nothing // never function crash(model:number): never{ throw new Error('car crash') } // it doesn't never returns values / anything not even void maybe kill process | terminate thing // Literal types ( if declared with const ) type Bike = 'NOO' | 123 // const bike: Bike = 'wha'; const bike: Bike = 'NOO'; // Literal interface const care = { make: "honda" as "honda" } // care.make = 'mbw' care.make = 'honda' // Tuples // only last paramater optional allowed type CARRR = [number | boolean,string?]; // make readonly type CARRR2 = readonly [number | boolean,string?]; // OR let cDetails = [2021, 'bmw'] as const; // cDetails[1] = 'akj'; const ar: CARRR = [1,'2'] console.log('tuples, -> '+ ar) // maybe use tuple for API calls // Rest Parameter type carTuple = [number,string, ...number[]] const car3 = [2021, 'bmw',23,123,34]; console.log(car3) // IMPORTANT // TYPE ASSERTATION explicility mentioning when don't know const myCanvar = document.getElementById('canvas') as HTMLCanvasElement; // NULL ASSERTATION when you don't have confirmation but sure about values types use -> ! function doSome(model: number | null){ model!.toString() } doSome(null) // IMPOSSIBLE ASSERTATION type YO = string | null const car1 = 'form' as YO; // IMPORTANT // export {} 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)