我想在 JavaScript 对象中存储类似 TaskPaper 的任务。假设我有这样的任务
- Post to StackOverflow @priority(2) @due(2016-05-03) @flagged
这会变成
{"name":"Post to StackOverflow", "priority": 2, "due":"2016-05-03", "flagged":"value"}
Flagged 不需要值,我能想到的就是使用 true
或 null
我想稍后使用 if key in object
过滤任务,并且具有 true/false 值不适用于我的工作流。
SO 社区会推荐什么作为最佳实践。
最佳答案
如果您执行类似if (myobj.flagged)
的操作,那么如果您的flagged
值为true
,则测试通过。如果 flagged
属性不存在,那么您将得到 undefined
,这是 falsy。所以它适用于 flagged:true
、flagged:false
甚至没有 flagged
属性。因此,使用 true
,并在属性不应该存在时将其完全省略(因此 for...in
在这种情况下会起作用)。
关于javascript - 我可以有一个没有值的 JavaScript 对象键吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35754784/