zoukankan      html  css  js  c++  java
  • typescript 参数类型

    1、参数类型:在参数名称后面使用冒号来指定参数的类型
    var myname:string = 'wzn'
    =>
    "use strict";
    var myname = 'wzn';
    这个时候就申明了一个字符串类型的变量myname,赋值类型后,后面再对这个值赋值的时候会去检查。如果后续赋值为数字,编辑器就会提示,不能把数字赋值给字符串。虽然有提醒,但是编译以后的js代码是不会错的




    当没有申明变量是字符串类型的时候,后续赋值为数字,ts也会报错,这是因为ts中有一个机制,叫做类型推断机制。赋值为字符串,后面就认为这个变变量是字符串。
    那么我确实是这个变量既能是字符串,也能是数字,就申明变量类型为any。说明这个变量可以是任何值

     
    除了string和any以外,ts还有其他几种类型
    数字
    var age:number = 13
    =>
    "use strict";
    var age = 13;
    布尔
    var man:boolean = true
    =>
    "use strict";
    var man = true;
    是否有返回值
    function test(): void{}
    =>
    "use strict";
    function test() {
    }

    这个标示不需要任何返回值

    function test(): string{
        return ''
    }
    =>
    "use strict";
    function test() {
        return '';
    }
    声明一个string类型的返回值
    function test(name: string){}
    test('')
    =>
    "use strict";
    function test(name) { }
    test('');
    给方法变量声明类型,调用的时候,参数只能是字符串类型



    自定义类型
    class Person {
        name: string;
        age: number
    }
    var zhangsan: Person = new Person();
    zhangsan.name = 'zhangsna',
    zhangsan.age = 19



    2、默认参数:在参数声明后面用等号来指定参数的默认值
    function test(a: string, b: string, c: string) {
        console.log(a);
        console.log(b);
        console.log(c);
    }
    test('xx', 'yy', 'zz')
    这个时候要传三个参数,传一个或两个都不行,数量不够,这时候可以给参数指定默认值,这个时候就只传两个参数
    function test(a: string, b: string, c: string='zina') {
        console.log(a);
        console.log(b);
        console.log(c);
    }
    test('xx', 'yy')
    带默认值的参数必须写最后面



    3、可选参数:在方法的参数声明后面用问号来标明此参数为可选参数
    function test(a: string, b?: string, c: string='zina') {
        console.log(a);
        console.log(b);
        console.log(c);
    }
    这样表示b是可选参数,在调用的时候可以只调用一个参数
    function test(a: string, b?: string, c: string='zina') {
        console.log(a);
        console.log(b);
        console.log(c);
    }
    test('xx')
    这样的结果是,a参数是'xx',b参数的undefined,c参数的默认值是zina
    注意:一个必填的参数不能在可选参数后面



  • 相关阅读:
    你能用多长时间停车?
    中国威胁论好像还挺严重的
    热爱生命
    lunix下shell脚本批量获取文件,批量修改文件内容
    sql数据操作的若干心得(二)向表中自动插入自增的ID
    Asp.net开发之旅动态产生控件
    Asp.net开发之旅GridView中嵌入DropDownList的一点心得
    Asp.net开发之旅开发环境
    Asp.net开发之旅简单的引用母版页
    Sql数据操作的若干心得
  • 原文地址:https://www.cnblogs.com/wzndkj/p/11639222.html
Copyright © 2011-2022 走看看