我下面有我通过api接收到的该对象,但有时SimplesNacional属性为null。仅当它不为null时,才如何对其进行解构(??),因为它具有一些嵌套的属性,这些属性在解构时破坏了我的程序?
这是对象:
const {
Retorno: {
ReceitaPJ: {
NumeroInscricao: numeroInscricao,
Matriz: matriz,
DataAbertura: dataAbertura,
NomeEmpresarial: nomeEmpresarial,
NomeFantasia: nomeFantasia,
NaturezaJuridica: naturezaJuridica,
SituacaoCadastral: situacaoCadastral,
},
SimplesNacional: {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
},
CadastroPJ: {
Telefones: telefones,
Enderecos: enderecos,
Emails: emails,
Socios: socios,
},
},
} = response;
这是用法:
result.data = {
cadastroPJ: {
numeroInscricao,
matriz,
dataAbertura,
nomeEmpresarial,
nomeFantasia,
naturezaJuridica,
situacaoCadastral,
},
simplesNacional: {
nomeEmpresarial,
situacaoSimplesNacional,
situacaoSIMEI,
simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
dataConsulta,
},
telefones: telefones.map((x) => ({
numero: x.TelefoneComDDD,
})),
enderecos: enderecos.map((x) => ({
logradouro: x.Logradouro,
numero: x.Numero,
bairro: x.Bairro,
cidade: x.Cidade,
uf: x.UF,
cep: x.CEP,
})),
emails: emails.map((x) => ({
endereco: x.EnderecoEmail,
})),
socios: socios.map((x) => ({
documento: x.Documento,
nome: x.Nome,
percentualParticipacao: x.PercentualParticipacao,
dataEntrada: x.DataEntrada,
})),
};
Visual Studio Code终端说:Cannot destructure property `SituacaoSimplesNacional` of 'undefined' or 'null'.
,因为属性SimplesNacional为空。
const {
Retorno: {
ReceitaPJ: {
NumeroInscricao: numeroInscricao,
Matriz: matriz,
DataAbertura: dataAbertura,
NomeEmpresarial: nomeEmpresarial,
NomeFantasia: nomeFantasia,
NaturezaJuridica: naturezaJuridica,
SituacaoCadastral: situacaoCadastral,
},
SimplesNacional,
CadastroPJ: {
Telefones: telefones,
Enderecos: enderecos,
Emails: emails,
Socios: socios,
},
},
} = response
if (SimplesNacional) {
var {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
} = SimplesNacional
}
只需两步即可完成
EDIT:如果要使用const ...
const {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
} = (SimplesNacional || {})
但是无论如何,深入对象将在以后引发错误...