typescript吧 关注:684贴子:638
  • 1回复贴,共1

TS对象字面量类型问题

只看楼主收藏回复

大家好~,学习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; }'


IP属地:广西1楼2022-06-30 17:55回复
    let obj : {name: string} = {name: '123', size: 10}
    这里类型不符,会有警告
    改为
    let obj : {name: string, size: number} = {name: '123', size: 10}
    或自动识别
    let obj = {name: '123', size: 10}


    IP属地:四川2楼2022-07-03 23:44
    回复