TS对象字面量类型问题
typescript吧
全部回复
仅看楼主
level 1
如云而行 楼主
大家好~,学习TS有个小问题,下面这段代码为啥在函数中的参数声明对象字面量不报错,而在指定变量的为对象字面量的情况下报错呢?那段函数是TS官网的例子。
function printLabel(labelledObj: { label: string }) {
console.log(labelledObj.label);
}
let myObj = { size: 10, label: "Size 10 Object" };
printLabel(myObj);
let obj : {name: string} = {name: '123', size: 10}//Type '{ name: string; size: number; }' is not assignable to type '{ name: string; }'. Object literal may only specify known properties, and 'size' does not exist in type '{ name: string; }'
2022年06月30日 09点06分 1
level 1
let obj : {name: string} = {name: '123', size: 10}
这里类型不符,会有警告
改为
let obj : {name: string, size: number} = {name: '123', size: 10}
或自动识别
let obj = {name: '123', size: 10}
2022年07月03日 15点07分 2
1