typescript 第二部分

Posted shangjun6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript 第二部分相关的知识,希望对你有一定的参考价值。

  ts 中不允许变量同名

  函数定义的两种方式

  第一种:命名函数 = 声明式定义

    function fn()

  第二种:匿名函数

    var fn = function()

  function fn(x:string,y:string):string  // x:string 这里指 变量x 的数据类型  y:string 这里是 变量y 的数据类型  ():string 这里指 函数return 的数据类型

    return  " hello world "

  

  var fn=function(x:string,y:string):string  // 与上面的解释一致

    return "hello world"

  

  约束函数

  var sf:(x:string,y:string)=>string=function(a:string,b:string):string

    return "hello"

  

  可选参数 :使用 ?来实现可选参数的功能,可选参数一定要放后面

  function fn(x:string,y?:string):string

    return "hello"

  

  fn("hello","world")   fn("hello")   // 这两种写法都不会报错 

  默认参数:使用 = 给参数赋值

  function fn(x:string,y:string="hello"):string

    return y;

  

  fn("world")  // = 给参数一个默认值

  ... 运算符:如果不确定传参的个数,我们可以用 ... 运算符来表示,且还会将元素转化成数组

    function fn(...res):number

      console.log(res)

    

    fn(12,24,36,48,60,72,84,96);  

  函数重载

    在 js 里面不存在函数重载,但是有函数重写

  函数重载的定义:函数名相同,跟据参数类型决定,使用哪个函数

  函数重写:在 js 中,因为一旦函数名相同,后者会将前者覆盖

  function fn(x)  // 像这里,我们没有指定数据类型,他会默认数据类型为 any (任何类型),但是 一般情况下 还是要加的

  ts重载  案例:

    定义两个函数的数据类型,没有实现他的功能

    function fn(x:number):number;

    function fn(x:string):string;

    function fn(x):any

      return x

     

    fn(12) / fn("hello")  // 这个案例是一个简单的写法  主要是看实参传递什么样的格式,以便正常的返回什么样的数据类型

    ts 函数重载:定义一个函数的数据类型,函数会进行重载

  原生 js 伪实现一个重载的案例:

    function fn(x)

      if(typeof x == "string")

        console.log("string")

      

      else if (typeof x == "number")

        console.log("number")

      

    

    fn(12)

  类

    案例:

    class Person

      name:string;    // 定义属性

      age:number;    

      constructor(name:string,age:number)    // 实例

        this.name=name;

        this.age=age;

      

      run()

        console.log("hello world")  // 这个是定义方法

      

    

    var person = new Person("zhang",20);

    定义类的注意事项

    1. ts 定义类,首先如果有属性,一定要定义属性,指定数据类型,不加修饰符,默认是 public

    2. ts 中,类没有原型概念

    3. new 实例的时候,就是调用构造函数

    4. 方法中的 this 指向实例对象

  类的继承:关键字 extends  super

  案例:

    class Animal

      name:string;

      age:number;

      constructor(name:string,age:number)

        this.name=name;

        this.age=age;

      

      move()

        console.log(this.name);

      

      

    class Dog extends Animal

      constructor(name:string,age:number)

        super(name,age)

      

    

    var shinubi = new Dog("史努比",7);

    shinubi.move()

以上是关于typescript 第二部分的主要内容,如果未能解决你的问题,请参考以下文章

第一届绿色计算大赛 第二部分第三道题 石头

实验二 第二部分

实验二 第二部分

实验二 第二部分

typescript 第二部分

crypto实验报告