let n: number = 1 console.log("number:", n) let s: string s = "lorem ipsum" console.log("string:", s) let b: boolean b = true console.log("bool:", b) let any: any any = "0123456789" console.log("any:", any) const numberArray: number[] = [1, 2, 3, 4, 5] console.log("number array:", numberArray) const stringArray: string[] = ["a", "b", "c", "d", "e"] console.log("string array:", stringArray) const anyArray: any[] = [1, 2, 3, true, "string"] console.log("any array:", anyArray) // окремий масив з визначеною кількістю елементів const tuple: [number, null, string] = [1, null, "lorem ipsum"] console.log(tuple) // масив з масивами let tupleArray: [string, number][] tupleArray = [ ["Vasyl", 10], ["Myhailo", 20], ["Dmytro", 30], ] console.log(tupleArray) // допустимі типи у змінної let variable: string | number | null variable = "Lorem ipsum" console.log(variable) // іменовані константи (default -- numeric) enum Dir { TOP = "top", LEFT = "left", BOTTOM = "bottom", RIGHT = "right", } console.log(Dir) console.log(Dir.TOP) // object const obj1: { id: number name: string } = { id: 1, name: "Vasyl", } console.log(obj1) // type type Obj = { id: number name: string } const obj2: Obj = { id: 2, name: "Petro", } console.log(obj2) // type assertion let cid: any = 1 let uniqueCid = <number>cid uniqueCid = 2 console.log(cid, uniqueCid) let customerCid = cid as number customerCid = 3 console.log(customerCid) // function function sum(a: number, b: number): number { return a + b } console.log(sum(2, 2)) function message(message: string | number | null | undefined): void { console.log(message) } // interface interface Interface { readonly id: number // read only field! name: string age?: number // not require, optionally } const obj3: Interface = { id: 3, name: "Mykola", } console.log(obj3) // interface for function interface MathFunc { (a: number, b: number): number } // instance interface for function const add: MathFunc = (x: number, y: number): number => x + y const sub: MathFunc = (x: number, y: number): number => x - y console.log(add(3, 4)) console.log(sub(6, 5)) // classes class UserData { protected id: number private name: string // age?: number // не потрібно constructor(id: number, name: string) { this.id = id this.name = name } getName(): string { return this.name } } // instance class const duncan = new UserData(1, "duncan") console.log(duncan) console.log(duncan.getName()) // interface and class interface Param { id: number name: string age?: number getName(): string } class Customer implements Param { id: number name: string constructor(id: number, name: string) { this.id = id this.name = name } getName(): string { return this.name } } const newUser = new Customer(999, "Anonimus") console.log(newUser) // subclasses class Person extends Customer { profession: string constructor(id: number, name: string, profession: string) { super(id, name) this.profession = profession this.id = id this.name = name } } const newPerson = new Person(333, "somthing user", "outcast") console.log(newPerson) // generics function getArray<Type>(items: Type[]): Type[] { // return new Array().concat(items) return [...items] } const numArray = getArray<number>([1, 2, 3, 445, 5]) const strArray = getArray<string>(["a", "b", "c", "d", "e", "f", "g"]) console.log(numArray, strArray) strArray.push("h") console.log(strArray)
Шпаргалка typescript
Dev 668
Share to facebook Share to twitter Share to linkedin Share to telegram Share to viber