我已经得到了下一串代码。
const func: ( newState: { newState: number }) => void = ({ newState: newState }) => {
console.log(newState);
}
对我来说,特别有趣的是({ newState: newState })
它是如何工作的?为什么我可以在这种情况下编写newState: newState
,并且没有编译错误?
我已经得到了下一串代码。
const func: ( newState: { newState: number }) => void = ({ newState: newState }) => {
console.log(newState);
}
对我来说,特别有趣的是({ newState: newState })
它是如何工作的?为什么我可以在这种情况下编写newState: newState
,并且没有编译错误?
3条答案
按热度按时间yftpprvb1#
const函数:(标签参数:{新状态:数字})=〉无效=({新状态:如果您有任何问题,请与我们联系。}
函数({新状态:12});这是因为第一个newState是一个标签,放在给函数的参数上-〉我在示例中将其重命名为labeledParameter
所述对象
{ newState:newState }是具有属性newState的对象,其值为数字
调用您应该使用的函数
函数({新状态:第12条);
slmsl1lt2#
这是因为第一个newState是一个标签,放在给予函数的参数上-〉我在示例中将其重命名为labeledParameter
所述对象
是一个具有newState属性的对象,其值为一个数字
调用您应该使用的函数
rvpgvaaj3#
让我们通过分离代码片段中的typescript和javascript部分来理解。
类型脚本部分
上面的部分定义了函数的type,它声明函数接受一个参数(可以命名为任何名称,这里命名为
newState
),该参数是一个带有键newState
的对象,其类型为number
,void
返回类型声明函数不返回任何内容。JavaScript部分
上面的部分是函数定义,其中参数是destructed,并且
newState
键被别名为newState
,这是冗余的,但可以工作。上述代码片段的更详细版本如下: