Когда вы разрушаете объект, вы можете указать propname: variablename
, чтобы присвоить свойство переменной с другим именем.Положение только имени свойства без переменной эквивалентно propname: propname
, чтобы использовать одно и то же имя для переменной и свойства, но вам не нужно использовать этот ярлык.
Таким образом, вы можете сделать это следующим образом:
let obj = {
"t":
{
"en": {
"head" :"hello",
"sub" : "this is great"
}
}
}
let { t: { en: t } } = obj;
console.log(t);
Первое t:
- это просто имя свойства, оно указывает, что значение является объектом, который также должен быть подвергнут деструктуризации.В этой структуре мы используем синтаксис propname: variablename
, поэтому свойство en
присваивается переменной t
.
В определении функции это будет выглядеть следующим образом:
const Home = ({ t: { en: t }, link}) => console.log(t);
let obj = {
"t":
{
"en": {
"head" :"hello",
"sub" : "this is great"
}
}
};
Home(obj);
Обратите внимание, что между двумя вариантами использования t
нет реальной связи.Переменная может на самом деле быть чем угодно, например
const Home = ({ t: { en: blah }, link}) => console.log(blah);