Last active
July 29, 2025 23:59
-
Star
(243)
You must be signed in to star a gist -
Fork
(137)
You must be signed in to fork a gist
Revisions
-
bradtraversy revised this gist
Aug 18, 2021 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -10,7 +10,7 @@ let arr: any[] = [1, true, 'Hello'] // Tuple let person: [number, string, boolean] = [1, 'Brad', true] // Tuple Array let employees: [number, string][] employee = [ [1, 'Brad'], @@ -126,4 +126,4 @@ function getArray<T>(items: T[]): T[] { let numArray = getArray<number>([1, 2, 3, 4]) let strArray = getArray<string>(['brad', 'John', 'Jill']) strArray.push(1) // Throws error -
bradtraversy created this gist
Aug 17, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,129 @@ // Basic Types let id: number = 5 let company: string = 'Traversy Media' let isPublished: boolean = true let x: any = 'Hello' let ids: number[] = [1, 2, 3, 4, 5] let arr: any[] = [1, true, 'Hello'] // Tuple let person: [number, string, boolean] = [1, 'Brad', true] // Tuple Array let employee: [number, string][] employee = [ [1, 'Brad'], [2, 'John'], [3, 'Jill'], ] // Union let pid: string | number pid = '22' // Enum enum Direction1 { Up = 1, Down, Left, Right, } enum Direction2 { Up = 'Up', Down = 'Down', Left = 'Left', Right = 'Right', } // Objects type User = { id: number name: string } const user: User = { id: 1, name: 'John', } // Type Assertion let cid: any = 1 // let customerId = <number>cid let customerId = cid as number // Functions function addNum(x: number, y: number): number { return x + y } // Void function log(message: string | number): void { console.log(message) } // Interfaces interface UserInterface { readonly id: number name: string age?: number } const user1: UserInterface = { id: 1, name: 'John', } interface MathFunc { (x: number, y: number): number } const add: MathFunc = (x: number, y: number): number => x + y const sub: MathFunc = (x: number, y: number): number => x - y interface PersonInterface { id: number name: string register(): string } // Classes class Person implements PersonInterface { id: number name: string constructor(id: number, name: string) { this.id = id this.name = name } register() { return `${this.name} is now registered` } } const brad = new Person(1, 'Brad Traversy') const mike = new Person(2, 'Mike Jordan') // Subclasses class Employee extends Person { position: string constructor(id: number, name: string, position: string) { super(id, name) this.position = position } } const emp = new Employee(3, 'Shawn', 'Developer') // Generics function getArray<T>(items: T[]): T[] { return new Array().concat(items) } let numArray = getArray<number>([1, 2, 3, 4]) let strArray = getArray<string>(['brad', 'John', 'Jill']) strArray.push(1)