Фигурные скобки внутри параметров JavaScript для функций - PullRequest
27 голосов
/ 10 ноября 2010

Что делают фигурные скобки, окружающие параметры JavaScript для функций?

var port = chrome.extension.connect({name: "testing"});
port.postMessage({found: (count != undefined)});

Ответы [ 4 ]

97 голосов
/ 14 ноября 2015

A второй возможный ответ возник, так как этот вопрос был задан. Представлен Javascript ES6 Назначение деструктуры .

var x = function({ foo }) {
   console.log(foo)
}

var y = {
  bar: "hello",
  foo: "Good bye"
}

x(y)


Result: "Good bye"
34 голосов
/ 10 ноября 2010

Фигурные скобки обозначают литерал объекта.Это способ отправки пар ключ / значение данных.

Итак, это:

var obj = {name: "testing"};

Используется так для доступа к данным.

obj.name; // gives you "testing"

Выможет дать объекту несколько пар ключ / значение, разделенных запятыми, если ключи уникальны.

var obj = {name: "testing",
           another: "some other value",
           "a-key": "needed quotes because of the hyphen"
          };

Вы также можете использовать квадратные скобки для доступа к свойствам объекта.

Этопотребуется в случае "a-key".

obj["a-key"] // gives you "needed quotes because of the hyphen"

Используя квадратные скобки, вы можете получить доступ к значению, используя имя свойства, хранящееся в переменной.

var some_variable = "name";

obj[ some_variable ] // gives you "testing"
2 голосов
/ 10 ноября 2010

Фигурные скобки в javascript используются как сокращение для создания объектов. Например:

// Create an object with a key "name" initialized to the value "testing"
var test = { name : "testing" };
alert(test.name); // alerts "testing"

Более подробную информацию можно найти в исследовании Дугласа Крокфорда .

0 голосов
/ 10 ноября 2010
var x = {title: 'the title'};

определяет литерал объекта со свойствами.вы можете сделать

x.title 

, который будет оценивать заголовок;

- это распространенный метод передачи конфигураций в методы, что и происходит здесь.

...