小编Krz*_*ski的帖子

在V8中,null、undefined、boolean等原始类型是如何存储在内存中的?

a 是否boolean以 32 位整数形式存储在内存中?一个值怎么样null

在《Speaking Javascript》一书中,它指的是一个类型标签,用于指示存储在内存中的值的类型。例如类型标签Object是000。什么是类型标签?

如何找到值类型(例如 a或 )的类型标记booleanstring

javascript v8 javascript-engine

5
推荐指数
1
解决办法
1960
查看次数

用于对象键映射的打字稿模板文字

我正在尝试创建一个通用类型,该类型将使用模板文字映射键。一般来说,我只希望泛型类型中列出的所有键都出现在输出类型中,但稍作修改。大致如下:

type TFoobar = "foo" | "bar";

const foobar: TFlagDict<TFoobar> = {
    "foo_flag": true,
    "bar_flag": true
};
Run Code Online (Sandbox Code Playgroud)

我尝试像这样实现它:

type TFlagDict<TProperties extends string> = {
    [key in TProperties]: {[k in `${key}_flag`]: boolean}
}[TProperties]
Run Code Online (Sandbox Code Playgroud)

虽然它确实有正确的类型,但它使属性成为可选的(至少有一个是必需的,但没有任何东西强制它们全部存在)

const foo: TFlagDict<TFoobar> = {
    "foo_flag": true
}; //valid, shouldnt be

const bar: TFlagDict<TFoobar> = {
    "bar_flag": true
}; //valid, shouldnt be

const foobar: TFlagDict<TFoobar> = {
    "foo_flag": true,
    "bar_flag": true
}; //valid

Run Code Online (Sandbox Code Playgroud)

typescript template-literals

5
推荐指数
1
解决办法
2166
查看次数