gpt4 book ai didi

javascript - typescript :具有多余键的对象分配似乎已损坏

转载 作者:行者123 更新时间:2023-12-04 07:20:01 25 4
gpt4 key购买 nike

第一个变体:我从 const 传递对象数据。第二种变体:我直接在函数中传递数据。为什么我只在第二个变体中有错误?
第一的:

const a = {
name: '123',
age: 30,
excess: []
}

interface A {
name: string
age: number
}

const func = (e: A) => {
console.log(e)
}

func(a) // no error
第二:
interface A {
name: string
age: number
}

const func = (e: A) => {
console.log(e)
}

func({
name: '123',
age: 30,
excess: [] // error
})

最佳答案

只要您提供具有其所需属性的类型,TypeScript 就可以拥有额外的属性,但是当您尝试分配对象文字时 直接 Excess property checks处于事件状态,您会收到错误 ( Type '{ x }' is not assignable to type 'Y' )。
基于 this :

When TypeScript encounters object literal in assignments or whenpassed as an argument to functions it triggers an action called excessproperty checking.


因此它会检查对象是否具有确切的属性。

关于javascript - typescript :具有多余键的对象分配似乎已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68561033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com