Keresés

Új hozzászólás Aktív témák

  • tick

    aktív tag

    válasz martonx #6602 üzenetére

    Értem hogy sima js lesz belőle és a hasznos dolgok nagyrésze el is tűnik. Azt reméltem hogy van valami compiler paraméter amin átsiklottam ami automatikusan hozzátenné a típus ellenőrzéseket.

    Lényegében akkor minden egyes class esetén típusellenőrzést ugyanúgy meg kell csinálni minttha vanilla js lenne, illetve ha felhasználom egy másikban, akkor példányosítani kell. Valahogy így mint lent. (tudom hogy rossz példa) Vagy van jobb megoldás?

    class Name {
    name:string
    constructor(str:string) {
    if (typeof str !== 'string') {
    throw new TypeError()
    }
    this.name = str
    }
    }

    class Age {
    age:number
    constructor(n:number) {
    if (typeof n !== 'number') {
    throw new TypeError()
    }
    this.age = n
    }
    }

    class Person {
    name:Name
    age:Age
    constructor(i:IPerson) {
    this.name = new Name(i.str)
    this.age = new Age(i.n)
    }
    }

    interface IPerson {
    str: string,
    n: number
    }

    console.log(process.argv[2])
    let bar:IPerson = JSON.parse(process.argv[2])
    let foo = new Person(bar)
    console.log(foo)

Új hozzászólás Aktív témák