2015-10-01 11 views
5

Przechodzę przez kurs Pluralsight na TypeScript, a to powoduje błąd, a zostanie wyjaśniony jako poprawny kod na kursie.Interfejs implementujący obiekt TypeScript z dodatkowym błędem właściwości

błąd TS2322: Wpisz "{favouriteSport: string; name: string; dzieci: liczba; wiek: liczba; calcPets:() => liczba; makeYo ... "nie można przypisać" Person ". Obiekt literalny może określać tylko znane właściwości, a "favouriteSport" nie istnieje w typie "Osoba".

interface Person{ 
    age: number, 
    name: string, 
    kids: number, 
    calcPets:()=> number; 
    makeYounger: (years: number) => void; 
    greet: (msg: string) => string; 
} 

var p: Person = { 
    favouriteSport: "tennis", 
    name: "Michael", 
    kids: 4, 
    age: 44, 
    calcPets: function(){ 
     return this.kids * 2; 
    }, 
    makeYounger: function(years: number){ 
     this.age -= years; 
    }, 
    greet: function(msg: string){ 
     return msg + ', ' + this.name; 
    } 
} 

Odpowiedz

3

Spójrz na tego github issue. Wygląda na to, że zachowanie zmieniło się w 1.6. Domyślam się, że kurs, który bierzesz, został napisany przed 1.6.

+0

Pracował gr8. Thnx za link. –

Powiązane problemy