首页 > 解决方案 > TypeScript:将只读分配给非只读。这是一个错误吗?

问题描述

我在 TS 4.4 中发现了一些似乎是明显错误的东西,但我想先在这里问一下,以防我遗漏了什么。

const x = {
  a: 42
} as const

interface A {
  a: number;
}

const y: A = x; // this should raise an error, but doesn't

y.a = 24;

const b = x.a;
//    ^?
// b is incorrectly inferred to be 42

如果这是预期的行为,是否有任何实际理由使用Readonly?我更愿意对我的类型诚实。

这是一个游乐场,以防万一有人想玩这个。

标签: typescript

解决方案


推荐阅读