Hirdetés

Keresés

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

  • tick
    aktív tag

    Nézd, a typescript javascriptté fordul, ami nem típusos nyelv (szerk. mielőtt valaki a fejemet veszi, pontosítok: nem erősen típusos), így elvárni, hogy futás közben is úgy viselkedjen, mint szerkesztés közben a typescript, elég naív elképzelés. Mindenesetre itt vannak workaroundok erre: [link] (gugli legelső találata volt)

    É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