gpt4 book ai didi

Javascript 对象属性名称

转载 作者:行者123 更新时间:2023-12-05 00:34:46 24 4
gpt4 key购买 nike

在 C# 中,可以将对象属性的名称作为字符串值获取。

nameof(object.myProperty) --> "myProprty"

这可以在 Javascript/Typescript 中完成吗?

Object.Keys() 是我发现的唯一东西,但它给了我所有的 key 。

示例我想要实现的目标:

export interface myObject {
myProperty: string;
}

console.log(myObject["myProperty"]);

假设我出于某种原因将界面更改为:
export interface myObject {
myPropertyOther: string;
}

console.log(myObject["myProperty"]); // This will not give an error on build

所以我想要这样的东西:
console.log(myObject[nameOf(myObject.myProperty)]
// This will give an error on build when the interface is changed

最佳答案

没有nameof Javascript/Typescript 中的运算符。您可以创建一个函数来获取另一个对象的键,并由 typescript 编译器检查:

function keyOf<T>(o: T, k: keyof T) {
return k
}

let o = { a: 1 }
keyOf(o, 'a'); //ok
keyOf(o, 'b'); //err

关于Javascript 对象属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187413/

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