zoukankan      html  css  js  c++  java
  • typescript

      参数默认值  =

      重写

      

    TypeScript使用的是结构性类型系统。 当我们比较两种不同的类型时,并不在乎它们从何处而来,如果所有成员的类型都是兼容的,我们就认为它们的类型是兼容的。

    然而,当我们比较带有privateprotected成员的类型的时候,情况就不同了。 如果其中一个类型里包含一个private成员,那么只有当另外一个类型中也存在这样一个private成员, 并且它们都是来自同一处声明时,我们才认为这两个类型是兼容的。 对于 protected成员也使用这个规则。

    protected 能继承、不能再类外访问

    private 不能继承、不能类外访问

     readonly 只读属性必须在声明时或构造函数里被初始化。

    参数属性

    getter  setter

     其次,只带有 get不带有set的存取器自动被推断为readonly

    静态属性 static

    抽象abstract

      抽象类可以包含成员的实现细节。abstract关键字是用于定义抽象类和在抽象类内部定义抽象方法。


    let greeterMaker: typeof Greeter = Greeter;

    typeof Greeter==='function'  true  ---js中类由function实现

    函数

    为函数定义类型: 为参数和返回值加类型注解。 返回值类型可省略、ts compiler会自动判断。

    let myAdd: (baseValue:number, increment:number) => void= function(x: number, y: number): void{ return ; };

    推断类型

    参数的个数和类型必须与声明一致

    可选参数?

    我们也可以为参数提供一个默认值当用户没有传递这个参数或传递的值是undefined时。 它们叫做有默认初始化值的参数。

    可选参数与末尾的默认参数共享参数类型。-->类型一样的

    共享同样的类型(firstName: string, lastName?: string) => string。 默认参数的默认值消失了,只保留了它是一个可选参数的信息。

    与普通可选参数不同的是,带默认值的参数不需要放在必须参数的后面。 如果带默认值的参数出现在必须参数前面,用户必须明确的传入 undefined值来获得默认值。

    剩余参数 ...restOfName

  • 相关阅读:
    LTPA Cookie原理
    如何对更改internet密码所需的缓存时间进行调整?
    Freemem eclipse查看内存的小插件
    Java中static、final用法小结
    MANIFEST.MF内容属性名详细解释
    Java程序员的良药:应用程序的开发技巧
    spring struts2 ibatis框架整合开发
    java中静态代码块的用法 static用法详解 类的加载顺序
    从svn上直接导入项目到workspace中
    Eclipse自动生成UML图 Green UML和ModelGoon(直接推拽)
  • 原文地址:https://www.cnblogs.com/miaolq/p/6401869.html
Copyright © 2011-2022 走看看