命名参数 - 可读性

  • Dart|Python都有,可以解决查文档记位置的问题(虽然写的时候吧,IDE的doc提示也很便捷,但是有的话代码可读性好了很多)—— 让函数 声明

    1
    2
    3
    4
    # Dart
    在声明函数时:
    {paramName: value, paramName: value} 命名参数
    [] - 可选参数
  • JS 早期配置对象参数来解决这个问题 —— 但是可读性还是不行

  • ES6(解构赋值 | 函数默认值 )—— 可读性好了,约束还是没有

  • TS 写法加入TS本身类型,同ES6的表示方式({}: {}={}),本质上还是对象参数,https://github.com/Microsoft/TypeScript/issues/467

可选参数 - 约束性

  • Dart

  • TS - ?: 设置可选参数

说一句

C++ 与 Java ,提供函数的重载,即提供同名但参数不同的函数,来解决命名参数+可选参数解决的问题;