美文网首页
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

    使用tsc进行编译: 生成的JavaScript代码: 可读性一般,Jerry加了一些注释:

  • typescript语法

    参考:typescript参考1 typescript参考2 函数参数类型定义 声明函数参数默认值 ...

  • openssl 与 RSA

    生成私钥 openssl 生成并输入一个RSA私钥 输出参数 私钥名称 对应的nopenssl genrsa -o...

  • 静态工厂模式

    java参数设置默认值,只传递想传的参数

  • 从零开始复习Java-Java Doc文档

    Java Doc 用于生成自己的API文档 参数信息: 进入项目目录,打开命令行 输入 IDEA也有自带生成Jav...

  • 7.函数

    参数标签、参数名称 参数设置默认值 习惯上,无默认值得参数放前面,因为它们比较重要 可变参数 输入输出参数:函数内...

  • 函数的扩展

    参数默认值 ES5中设置默认值非常不方便, 我们这样写: 以上写法, 如果传入了参数, 但这个参数对应值的布尔型是...

  • Android kotlin 与java的对比方法大全2

    1.基本函数:Java Kotlin 2.传参数函数:Java Kotlin 3.传参数带默认值函数:Java K...

  • TypeScript学习-Type Inference

    Basics 以下几种情况,TypeScript会发生类型推理。 变量或成员的初始化 给参数的赋予默认值 确定函数...

  • ECMAScript函数扩展

    参数函数的默认值 对应的布尔值为 false ,则赋值不起作用 ES6将允许将默认值直接写在参数定义的后面 阅读代...

网友评论

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

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