Login
Create new posts
比如
interface A1 {
a: number;
b: string;
}
interface B1 {
a: number;
c: boolean;
}
想得到一个
interface C1 {
a: number;
}
初看会觉得是 A1 & B1
,但其是不是的,这玩意儿同时具有 a
, b
, c
, 三个属性。正确的确实应该用 &
,但是是对 keyof
出来的东西,如下:
type BothKeyOf<A, B> = keyof A & keyof B;
type BothFieldsOf<A, B> = {
[Key in BothKeyOf<A, B>]: A[Key] & B[Key]
};
type C = BothFieldsOf<A1, B1>;
const a: C = {a: 1};
const a2: C = {a: 1, b: '2'}; // 非法,多了 `b`
const a3: C = {}; // 非法,缺乏 `a`
什么鬼什么鬼什么鬼什么鬼
别说了,CLion和Goland成天给你补全一堆shi出来。
我平时就是这么用的,但是这并不符合我提出的要求
File | Settings | Editor | General | Smart Keys 中的 `Use "CamelHump" words"
image 虎哥你可能还要学习一个
看起来不错,还有什么推荐的吗?
为什么西西叫Axurez,为什么我叫Colliot
虎哥你懂吗,你懂你的身份吗
为什么我依然可以使用虎哥的身份
为什么?这是为什么?
Create new posts