【问题标题】:destructure only if object is defined仅在定义对象时解构
【发布时间】:2017-12-14 15:55:46
【问题描述】:

如果对象已定义,我如何才能解构它?

const {url} = image; // only destructure if image is defined.
                    // don't want to nest the destructuring in if image condition

【问题讨论】:

  • if (image) { const {url} = image; }
  • 您的意思是仅在定义或声明时?

标签: javascript ecmascript-6 destructuring


【解决方案1】:

如果说

只有在图像被定义

时才解构

你的意思是肯定声明了,那么你可以这样做:

const {url} = image || {};

运行示例:

let image;
const {url} = image || {};

console.log('url is',url);

const image = {url: 'someUrl.com'};
const {url} = image || {};

console.log('url is', url);

【讨论】:

    【解决方案2】:

    至少要声明目标:

    let image;
    const { url } = image ? image : {}; // undefined
    console.log(url)

    let image = { url: '/some/path' };
    const { url } = image ? image : {};
    console.log(url)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-06
      • 2021-12-21
      • 2020-06-13
      • 1970-01-01
      • 2021-02-11
      • 2018-12-21
      • 2016-02-10
      • 2022-08-23
      相关资源
      最近更新 更多