interface Test {
name: string;
age: number;
}
const subjectObj = {
name: "Harhsit Singh",
age: 17,
height: "6'1",
};
const testObj: Test = subjectObj; //? NO ERROR
const testObj2: Test = {
name: "Harhsit Singh",
age: 17,
height: "6'1", //! ERROR
};
J'ai créé une interface test
comme indiqué dans l'image, et un sujet de test nommé subjectObj
et qui contient plus de propriétés que le type test
ne contient.
Maintenant j'ai assigné mon subjectObj à la constante testObj de type test
, puis déclaré une autre constante testObj2 avec le même type test
et lui ai assigné le même objet, mais cette fois initialisé avec un nouvel objet de même structure que subjectObj.
Mais maintenant il me donne une erreur que 'height' n'existe pas dans le type 'test'
, mais n'a donné aucune erreur lorsque j'ai passé subjectObj en référence à testObj bien qu'il contienne également la propriété height.
Je ne sais pas pourquoi cela se produit, alors j'ai besoin d'une explication détaillée.