我想在JavaScript对象中存储类似TaskPaper的任务。假设我有一个类似的任务

- Post to StackOverflow @priority(2) @due(2016-05-03) @flagged

这将变成
{"name":"Post to StackOverflow", "priority": 2, "due":"2016-05-03", "flagged":"value"}

已标记并不需要值,我所能想到的就是使用truenull
我想稍后使用if key in object过滤任务,并且具有true/false值不适用于我的工作流程。

SO社区将推荐什么作为最佳实践。

最佳答案

如果您执行类似if (myobj.flagged)的操作,那么如果您的flagged的值为true,则测试通过。如果flagged属性不存在,那么您得到的undefined是虚假的。因此,它可以与flagged:trueflagged:false甚至没有flagged属性一起使用。因此,请使用true,并在该属性不存在的情况下完全忽略该属性(因此for...in在这种情况下将起作用)。

10-06 08:30