Как добавить свойства в оператор распространения JS? - PullRequest
0 голосов
/ 15 мая 2019

Ниже я добавил PatientID и InusranceId для оператора распространения, просто хотел посмотреть, есть ли лучший подход для решения этой задачи?

main.js

const Response = await getData(re);
const patientId = "AW364747";
const insuranceId = "0000786622";


logger().info('Response=', { ...Response, drugName: '[REDACTED]' , patientId, insuranceId});

Ответы [ 2 ]

3 голосов
/ 15 мая 2019

То, что у вас есть, правильно.

let newResponse = {...Response, drugName: '[REDACTED]'}

Будет ли добавлено свойство drugName, если оно отсутствует в Response. ИЛИ оно переопределит свойство drugName, если оно есть в Response.

let newResponse = { drugName: 'defaultname', ...Response}

поступит наоборот, если в Response содержится drugName, он переопределит drugName: 'defualtname' или, если его нет в Response, он добавит drugName.

Примеры:

const Response = { prop: 'some prop', drugName: 'Original Drug'}

const spreadFirst = { ...Response, drugName: 'New drug'}
// spreadFirst = { prop: 'some prop', drugName: 'New drug'}

const spreadLast = { drugName: 'Newest Drug', ...Response}
// spreadLast = { prop: 'some prop', drugName: 'Original Drug'}
0 голосов
/ 15 мая 2019

Есть более четкий и прямой подход

let Response = { name: 'John' }; // await getData(re);

Response.drugName    = '[REDACTED]'; 
Response.patientId   = 'AW364747';
Response.insuranceId = '0000786622';

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