大括号的Javascript用法



我正在阅读Eloquent Javascript,我对这篇文章和大括号的使用有一个问题:

这意味着大括号在JavaScript中有两种含义。在一个语句的开头,他们开始了一组语句。在任何其他位置,它们都描述一个对象。幸运的是,用大括号对象开始一个语句几乎从来都没有用,而且在典型的程序中,这两种用法之间没有歧义。

和这段:

type对象的值是属性的任意集合,并且我们可以随意添加或删除这些属性。一种创建方式对象使用大括号表示法。

var journal = [
  {events: ["work", "touched tree", "pizza",    
            "running", "television"],    
   squirrel: false},    
  {events: ["work", "ice cream", "cauliflower",    
            "lasagna", "touched tree", "brushed teeth"],    
   squirrel: false},    
  {events: ["weekend", "cycling", "break",    
            "peanuts", "beer"],    
   squirrel: true},    
  /* and so on... */   
];

上面的代码看起来像是一堆属性及其数组值。括号在做什么?他们似乎将每个属性分组为一个数组值和一个布尔值。花括号就是这么做的吗?根据定义,它们是在开始一组语句,还是在描述一个对象?用花括号描述一个物体意味着什么?javascript中的对象是否只是属性的集合,其中1足以使其成为对象?

您发布的代码中只有一条语句:journal的声明和赋值。它被初始化为一个对象数组,每个对象都有两个属性:eventssquirrel。假设"依此类推"继续该模式,则每个events属性都被初始化为字符串值的数组,每个squirrel属性也被初始化为布尔值。

每对(方)括号定义一个数组,每对花括号(大括号)定义对象。事情就是这样。

关于你的问题"用花括号描述对象意味着什么?",这在JavaScript对象文本的文档中有描述。

这里的每个括号都在定义/创建一个对象。

括号只是为了创建那个对象,就这么简单。你可以只看它的面值。

这篇文章是真正深入了解事物(为什么使用它们以及它们是什么替代品)的好读物。

最新更新