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

  • 相关阅读:
    方法的调用
    控制语句
    运算符 及 流程控制语句
    标识符 二进制 数据类型之间的转换
    大数据中java基础概述
    Java常见对象
    Java为什么要在虚拟机中运行
    java基础之反射机制
    多线程
    Ajax详解
  • 原文地址:https://www.cnblogs.com/miaolq/p/6401869.html
Copyright © 2011-2022 走看看