0

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?

0 Answers0