Closed
Description
Error:
Argument of type '{ size: number; label: string; }' is not assignable to parameter of type '{ label: string; }'.
Object literal may only specify known properties, and 'size' does not exist in type '{ label: string; }'.
My typesscript version is 1.7.5
Steps to recreate the Error:
- Create a .ts file named script.ts
- type the following code :
function printLabel(labelledObj: {label: string}) {
console.log(labelledObj.label);
}
var myObj = {size: 10, label: "Size 10 Object"}; // myObj is of type {size:number;label:string}
// printLabel(myObj);
printLabel({size: 10, label: "Size 10 Object"}); // the object being passed to printLabel is also of type {size:number;label:string}
- Compile the script.ts using command tsc script either from command prompt/powershell
it is clearly mentioned in documentation that if we send extra arguments it is ok .please refer to attached code-snippet
But what is the difference if i assign an object to a variable , pass that variable as argument and if i directly pass the object as argument ?