Разобрать и переименовать значения в строковые ключи - PullRequest
0 голосов
/ 09 октября 2019

В любом случае, я могу сделать что-то подобное? Мне нужны конкретные имена для значений ...

const {
  firstNm: 'my-funny-first-name',
  lastNm: 'bar-foo_Bar'
} = response;

Ответы [ 3 ]

1 голос
/ 09 октября 2019

Имена переменных не могут содержать дефисы (-), поэтому вы не можете.

Но вы все равно можете переименовывать деструктурированные свойства, если их имена являются действительными идентификаторами:

const {
  firstNm: my_funny_first_name,
  lastNm: bar_foo_Bar
} = response;

Обратите внимание, что вы не можете заключить эти имена в кавычки, но вам совсем не обязательно:

  • Допустимые имена идентификаторов могут быть записаны без кавычек, а
  • Неверные имена идентификаторов не разрешены в этом месте.
0 голосов
/ 09 октября 2019

Вам нужно изменить my-funny-first-name на myFunnyFirstName, потому что у вас не может быть тире в имени переменной.

var response = {
  "firstNm" : "Billy-Bob",
  "lastNm"  : "Foo Bar"
};

const {
  firstNm: myFunnyFirstName,
  lastNm: barFooBar
} = response;

console.log(`myFunnyFirstName = ${myFunnyFirstName}\nbarFooBar = ${barFooBar}`);
.as-console-wrapper { top: 0; max-height: 100% !important; }
0 голосов
/ 09 октября 2019

Вы можете сделать это, однако вам нужно использовать допустимые имена переменных и вы можете опустить кавычки. Другими словами:

const { firstNm: myFunnyFirstName, lastNm: barFooBar } = response

^ Это создаст новые переменные myFunnyFirstName и barFooBar для представления response.firstNm и response.lastNm соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...