gpt4 book ai didi

javascript - TypeScript 中定义的对象字面量键的类型是什么?

转载 作者:行者123 更新时间:2023-11-28 07:16:30 25 4
gpt4 key购买 nike

我没有使用 TypeScript 作为此应用程序的主要语言,而是作为 JetBrains 的 WebStorm 和 JSDocs 的类型提示辅助。我也在使用 keyMirror创建准枚举对象文字的实用程序。

鉴于以下情况:

//enums.js
var keyMirror = require('keyMirror');
module.exports = {
CRUDVerbs: keyMirror({ //keymirror mirrors the key to value in objects
CREATE: null,
READ: null,
UPDATE: null,
DESTROY: null
}
}

//app.js
var enums = require('enums.js');
var CrudTypes = enums.CRUDVerbs;
/** @type {??????????} **/
var returnedVal = functionFromElsewhere();
if(returnedVal === CrudTypes.CREATE) {
//code
} //..etc...

returnedValCrudTypes.CREATE 的类型是什么,用于定义它,例如enums.d.ts

最佳答案

The code for keyMirror 将属性键分配给值:

for (key in obj) {
if (obj.hasOwnProperty(key)) {
ret[key] = key;
}
}

因此,returnValCrudTypes.CREATE的类型应该是string

请注意,Object.keys(...) 在 TypeScript 中返回 string[],并且以下代码输出所有的 string键:

var obj = { 1: null, "2": null };
for (var key in obj) {
console.log(typeof key);
}

关于javascript - TypeScript 中定义的对象字面量键的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30788931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com