typescript - Typescript kasta objekt till föräldraobjekt
class base {
a: number;
b: number;
}
class child extends base {
c: number;
}
let obj: child = { a: 4, b: 5, c: 6 };
let test: base = obj as base;
console.log(test);
Kommer att skriva ut { a: 4, b: 5, c: 6 }
Hur skriver man ut { a: 4, b: 5 } ?
Svar #1
Typer ändrar inte hur ditt program fungerar. De existerar bara under "kompilering".
För att ändra utskriften måste du få din kod att ta bort egenskapen.
Se
- Anders Hejlsberg på Build 2013 (titta vid 18:05): han nämner att typer bara kommer att "försvinna", de är bara en design-tid artefakt. De ändrar inte din kod, det är din kod minus typer.
- Din kod på TypeScript-lekplatsen kan du se att typer inte påverkar utdata
Så, för att bara skriva ut a och b måste du anropa en kod för att ta bort c
delete obj.c;
