为什么tsx不判断名称为-的属性?

declare namespace JSX {
  interface ElementAttributesProperty {
    props:any; // specify the property name to use
  }
}
class A{
    props!:{p1:string}
}
const tsx = <A p1="" p-p2={1} p3=""></A>

https://www.typescriptlang.org/play?jsx=1#code/CYUwxgNghgTiAEA7KBbEBnADlMCBSAygBrwDeAUPPAJaIAuIMAZjggKIQhr0CCddMagCMArg3QAFGAHtMjOgE8ylKvEwzM6AFxRECgNzwA9EfhZw1JkroALBOtnylyNPDrT4I9CBUBfcv6QUOjo8DwUqmoa6ACEWqSYAIxa6AK0AOb+gdKIqW7oAB7wALzwADw8aonFAEQ1agC0mABMxaSJvmoAzLU1AHxlRjx9QA

p1,很好,它有一个字符串值.

p—p2,错误,它不是定义在类的props,bug没有ts错误.

P3,很好,它没有在类的props 中定义,并抛出了一个ts错误.

为什么TS不判断p—p2?

推荐答案

TypeScrip跳过对带有连字符的属性的类型判断,以便更轻松地使用data-aria-属性.当时,这是实现到打字模板字符串还不存在,所以我想知道,如果他们现在实现它,会不会有不同的做法.

https://github.com/microsoft/TypeScript/issues/32447#issuecomment-512430295

Typescript相关问答推荐

TypScript中的算法运算式

类型是工作.但它失go 了正确变体的亮点..为什么?或者如何增强?

在使用Typescribe时,是否有一种方法可以推断映射类型的键?

对深度对象键/路径进行适当的智能感知和类型判断,作为函数参数,而不会触发递归类型限制器

数组文字中对象的从键开始枚举

在不更改类型签名的情况下在数组并集上映射文字

返回具有递归属性的泛型类型的泛型函数

在正常函数内部调用异步函数

如何编辑切片器以使用CRUD调用函数?

作为函数参数的联合类型的键

如何使函数参数数组不相交?

基于闭包类型缩小泛型类型脚本函数的范围

有没有什么方法可以使用ProvideState()提供多个削减器作为根减减器

如何调整项目数组,但允许权重影响顺序

递归JSON类型脚本不接受 node 值中的变量

如何根据Typescript 中带有泛型的对象嵌套键数组获取数组或对象的正确类型?

Typescript 和 Rust 中跨平台的位移数字不一致

如何为字符串模板文字创建类型保护

如何在没有空接口的情况下实现求和类型功能?

Mongodb TypeError:类继承 events_1.EventEmitter 不是对象或 null