【问题标题】:How to optimize if statement in Typescript如何优化 Typescript 中的 if 语句
【发布时间】:2021-06-01 04:34:36
【问题描述】:

在声明两个变量param01 和param02 之后,我继续检查传入的event.pathParameters 是否不是undefined:

      let param01, param02;

      if (event.pathParameters!=undefined) {
        if (event.pathParameters.param01!=undefined) {
          param01 = event.pathParameters.param01;
        }
        if (event.pathParameters.param02!=undefined) {
          param02 = event.pathParameters.param02;
        }
      }    

虽然它运行良好,但需要 10 行代码。我想知道在 Typescript 中是否有更短更优雅的方法来完成它

【问题讨论】:

    标签: javascript typescript aws-lambda


    【解决方案1】:

    你可以试试这样的:

    const param01 = event.pathParameters && event.pathParameters.param01 || null;
    const param02 = event.pathParameters && event.pathParameters.param02 || null;
    

    或只使用一行:

    const { param01, param02 } = event.pathParameters || {};
    

    如果你的环境允许,你也可以使用Optional chaining。

    const param01 = event.pathParameters?.param01; // value or undefined
    const param02 = event.pathParameters?.param02; // value or undefined
    

    【讨论】:

      【解决方案2】:

      您可以使用the ? operator

      let param01 = event.pathParameters?.param01 || null;
      let param02 = event.pathParameters?.param02 || null;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-17
        • 2023-03-28
        • 2014-03-13
        相关资源
        最近更新 更多