facebook库的keyMirror节点包部分有什么用?

IT技术 node.js facebook reactjs
2021-05-03 04:16:31

这是在这里找到的 keyMirror 包 https://www.npmjs.com/package/keymirror

它将它定义为一个简单的实用程序,用于创建一个值等于其键的对象

Input: {key1: val1, key2: val2}
Output: {key1: key1, key2: key2}

但为什么我需要这样做?

这和说有什么不同

{OPTION_ONE:1, OPTION_TWO:2, OPTION_THREE:3}

为什么应用程序会发现对上述输入的以下转换有用?

{OPTION_ONE:OPTION_ONE, OPTION_TWO:OPTION_TWO, OPTION_THREE:OPTION_THREE}
1个回答

它正在制作一个 Enum 对象(https://en.wikipedia.org/wiki/Enumerated_type

你可以做,就像你说的{OPTION_ONE:1, OPTION_TWO:2, OPTION_THREE:3},这是一个类似的 Enum 对象,但是如果你想知道这个值6是否是来自枚举的值呢?您必须遍历所有键并检查所有值。

但是,如果键和值匹配,那么您可以检查对象中是否存在键以了解该值是否也存在。

var mirror = keyMirror({a: null, b:null});
var someValue = 'd';
var validValue = mirror[someValue] !== undefined;