美文网首页
TypeScript输入参数的默认值一例,以及对应生成的Java

TypeScript输入参数的默认值一例,以及对应生成的Java

作者: _扫地僧_ | 来源:发表于2021-02-15 10:31 被阅读0次
    const fun = ({ aa = 1, bb = 0 } = {}) => {
          console.log('aa: ' + aa);
          console.log('bb: ' + bb);
          return 'hello';
        }
    
    document.body.innerHTML = fun(); 
    

    使用tsc进行编译:

    生成的JavaScript代码:

    var fun = function (_a) {
        var _b = _a === void 0 ? {} : _a, _c = _b.aa, aa = _c === void 0 ? 1 : _c, _d = _b.bb, bb = _d === void 0 ? 0 : _d;
        console.log('aa: ' + aa);
        console.log('bb: ' + bb);
        return 'hello';
    };
    document.body.innerHTML = fun();
    
    

    可读性一般,Jerry加了一些注释:

    var fun = function (_a) {
        // 输入参数_a是否为undefined?如果是,赋上默认值{}, 一个空对象。如果不为空,
        // 用临时变量_b 存储输入变量_a的值
        // 现在_b和_a等价。
        var _b = _a === void 0 ? {} : _a;
    
        // _c存储输入变量的aa字段
        var _c = _b.aa;
    
        // 输入变量的aa字段为undefined吗?如果是,则将默认值1赋给临时变量aa, 否则使用变量传进来的aa字段的值
        var aa = _c === void 0 ? 1 : _c;
    
        // _d存储输入变量的bb字段
        var _d = _b.bb;
    
        // 输入字段的bb为undefined吗?如果是,使用默认值0,否则,使用输入变量的bb字段的实际值
        var bb = _d === void 0 ? 0 : _d;
    
        console.log('aa: ' + aa);
        console.log('bb: ' + bb);
        return 'hello';
    };
    document.body.innerHTML = fun();
    

    相关文章

      网友评论

          本文标题:TypeScript输入参数的默认值一例,以及对应生成的Java

          本文链接:https://www.haomeiwen.com/subject/cctrbktx.html