skillnader mellan att använda get eller inte TypeScript
Jag är ny på TypeScript, efter att ha läst en kod, hittade jag detta
get diagnostic(){ return JSON.stringify("test"); }
efter att ha observerat i min IDE med detta fall:
diagnostic(): string { return JSON.stringify("test"); }get diagnostic(): string { return JSON.stringify("test"); }
Jag undrar om de är exakt samma fall 2 och 3, och kan användas var som helst på samma sätt eller i vissa fall, är det bara möjligt att använda 3, eller 1, eller 2.
Å andra sidan kan jag förstå att fall 1 inte bör göra en explicit deklaration av returtyp, eftersom den är härledd i retur?
förlåt för min dåliga engelska, och jag hoppas att du kan förstå vad jag frågar
Svar #1
Nyckelordet get används för att skapa en getter och är faktiskt inte exklusivt för Typescript, det är en ES5-funktion. Om du använder nyckelordet get kommer du att komma åt det som en egenskap. Annars kommer du åt det som en funktion.
Här är ett exempel på att använda en getter.
class MyClass {
get thing() {
return "thing";
}
}
const foo = new MyClass();
console.log(foo.thing);
Samma sak utan en getter:
class MyClass {
thing() {
return "thing";
}
}
const foo = new MyClass();
console.log(foo.thing());
Notera att den ena har parentes och den andra har det inte
