javascript - 我可以有一个没有值的 JavaScript 对象键吗

标签 javascript json

我想在 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 不需要值,我能想到的就是使用 truenull

我想稍后使用 if key in object 过滤任务,并且具有 true/false 值不适用于我的工作流。

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

最佳答案

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

关于javascript - 我可以有一个没有值的 JavaScript 对象键吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35754784/

相关文章:

javascript - 如何使用带有 webpack 的 npm install 来使用 normalize.css?

javascript - XSRF - 如何设置跨域 cookie

php - 如何在数据库查询后将对象推送到 PHP 数组中?

java - 将 JSON 字符串转换为 JSON 数组

javascript - 这些 AJAX 参数对 Wikipedia 的 API 有什么作用?

javascript - 如何使用wrap()来wrap()两个嵌套的div?

javascript - 如何根据浏览器窗口的宽度输出 HTML?

javascript - jQuery 切换和 for every 循环问题

jquery - json 对象中的撇号用于添加斜杠

c# - 使用 C# 在 ASP.NET MVC 3 中创建级联下拉列表的最简单方法