在“{}”中传递包含 JSON 的变量的行为不同 - 为什么?

我正在用 Nodejs 编写一个 CLI 应用程序。用户看到一个项目列表并选择一个他们想要删除的项目。他们看到的列表是通过 JSON 文件生成的。JSON 文件有一个属性,其中包含一系列操作:

{    

 "actionList":[
     "Action 1","Action 2","Action 3","Action 5","Action 6"]    
}    

他们的输入触发要删除的项目和要使用更新列表重写的文件fs.writeFileSync

当我写入文件 WITHOUT{}时,它将数组写入没有属性的 JSON 文件actionList

代码:

fs.writeFileSync(
    path.join(__dirname, "./.todo.json"),
    JSON.stringify( actionList , null, 4)
  );

结果:

     ["Action 1","Action 2","Action 3","Action 5","Action 6"]

但是当我在 actionList 周围使用 {} 时,我会得到带有actionList属性的 JSON 文件。

代码:

fs.writeFileSync(
    path.join(__dirname, "./.todo.json"),
    JSON.stringify({ actionList }, null, 4)
  );

结果:

"actionList":[
         "Action 2","Action 3","Action 5","Action 6"]    
    } 

在这种情况下,{} 到底在做什么?

qrsngky

{ actionList }是相同的{ "actionList": actionList }

它是 ES6 属性的简写。

参考:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#new_notations_in_ecmascript_2015

另一个例子:https ://alligator.io/js/object-property-shorthand-es6/

因此,{}在您的对象周围添加了另一层,带有一个键"actionList"和变量的值actionList

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在“导入模块”和“从模块导入*”中,全局变量的行为不同?

来自分类Dev

为什么变量在循环外的行为不同?

来自分类Dev

为什么“包含”在全局上下文中的行为不同于在类中的行为?

来自分类Dev

在Angular 1.x中在指令中“监视”时;为什么观看返回变量的函数的行为不同于只观看变量的行为?

来自分类Dev

new Date()在不同环境中的行为不同,为什么?

来自分类Dev

为什么行为不同?

来自分类Dev

为什么在assertEquals()中stdClass和匿名类的行为不同?

来自分类Dev

为什么类和函数在Javascript中的行为不同?

来自分类Dev

为什么库函数中的 `print -P "%%"` 行为不同?

来自分类Dev

为什么Alt和Esc键在Emacs中的行为不同

来自分类Dev

ipyvuetify 中的按钮与复选框行为不同。为什么?

来自分类Java

为什么Object和var变量的行为不同?

来自分类Dev

为什么json查询字符串的'axios'和$ http(vue-resource)行为不同?

来自分类Dev

为什么NameValueCollection的行为不同?

来自分类Dev

为什么View中的layout_weight的行为与TextView的行为不同?

来自分类Dev

为什么setTimeout内for循环中的IIFE在nodejs中的行为与浏览器的行为不同

来自分类Dev

为什么JSON解析不会因传递给Decode()的类型完全不同而失败?

来自分类Dev

为什么JSON不接受将变量作为ID传递的存储过程?

来自分类Dev

为什么Java变量声明中的类型不同?

来自分类Dev

为什么 php 中的 preg_match 与 preg_replace 的行为不同(导致不同的匹配)?

来自分类Java

为什么当GSON连载两个看似相同的包含HashMap有不同的行为?

来自分类Dev

为什么空html元素的行为与包含内容的html元素不同?

来自分类Dev

为什么函数参数可以在C中包含地址或变量

来自分类Dev

为什么将numpy.nan作为值传递时numpy.isin()的行为不同?

来自分类Dev

使用bash在文件中的各行之间循环并传递给变量。结果变量与文件的值不同,为什么?

来自分类Dev

为什么传递的变量不呈现在html / template中?

来自分类Dev

为什么“ ..”可以在字符向量变量中传递列名?

来自分类Dev

不同UIViewControllers中变量的奇怪行为

来自分类Dev

为什么python 3中的json.dumps()返回python 2的不同值?

Related 相关文章

  1. 1

    为什么在“导入模块”和“从模块导入*”中,全局变量的行为不同?

  2. 2

    为什么变量在循环外的行为不同?

  3. 3

    为什么“包含”在全局上下文中的行为不同于在类中的行为?

  4. 4

    在Angular 1.x中在指令中“监视”时;为什么观看返回变量的函数的行为不同于只观看变量的行为?

  5. 5

    new Date()在不同环境中的行为不同,为什么?

  6. 6

    为什么行为不同?

  7. 7

    为什么在assertEquals()中stdClass和匿名类的行为不同?

  8. 8

    为什么类和函数在Javascript中的行为不同?

  9. 9

    为什么库函数中的 `print -P "%%"` 行为不同?

  10. 10

    为什么Alt和Esc键在Emacs中的行为不同

  11. 11

    ipyvuetify 中的按钮与复选框行为不同。为什么?

  12. 12

    为什么Object和var变量的行为不同?

  13. 13

    为什么json查询字符串的'axios'和$ http(vue-resource)行为不同?

  14. 14

    为什么NameValueCollection的行为不同?

  15. 15

    为什么View中的layout_weight的行为与TextView的行为不同?

  16. 16

    为什么setTimeout内for循环中的IIFE在nodejs中的行为与浏览器的行为不同

  17. 17

    为什么JSON解析不会因传递给Decode()的类型完全不同而失败?

  18. 18

    为什么JSON不接受将变量作为ID传递的存储过程?

  19. 19

    为什么Java变量声明中的类型不同?

  20. 20

    为什么 php 中的 preg_match 与 preg_replace 的行为不同(导致不同的匹配)?

  21. 21

    为什么当GSON连载两个看似相同的包含HashMap有不同的行为?

  22. 22

    为什么空html元素的行为与包含内容的html元素不同?

  23. 23

    为什么函数参数可以在C中包含地址或变量

  24. 24

    为什么将numpy.nan作为值传递时numpy.isin()的行为不同?

  25. 25

    使用bash在文件中的各行之间循环并传递给变量。结果变量与文件的值不同,为什么?

  26. 26

    为什么传递的变量不呈现在html / template中?

  27. 27

    为什么“ ..”可以在字符向量变量中传递列名?

  28. 28

    不同UIViewControllers中变量的奇怪行为

  29. 29

    为什么python 3中的json.dumps()返回python 2的不同值?

热门标签

归档