This code runs fine:
interface Pet {
name: string;
}
let dog = { name: "Lassie", owner: "Rudd Weatherwax" };
function greet(pet: Pet) {
console.log("Hello, " + pet.name);
}
greet(dog);
This code complains about firstName
parameter:
interface Animal {
name:string
}
let test = (param: Animal )=>{
console.log(param.name)
}
console.log(test({name:"1", firstName:"2"}))
error:
Object literal may only specify known properties, and 'firstName' does not exist in type 'Animal'
Why? Aren't they same?