zoukankan      html  css  js  c++  java
  • TypeScript(13): 联合类型

    

    联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。

    注意:只能赋值指定的类型,如果赋值其它类型就会报错。

    一、创建和使用联合类型

    创建联合类型的语法格式如下:

    Type1|Type2|Type3 

    实例

    1、声明一个联合类型:

    var val:string|number 
    val = 12 
    console.log("数字为 "+ val) 
    val = "Runoob" 
    console.log("字符串为 " + val)

    编译以上代码,得到以下 JavaScript 代码:

    var val;
    val = 12;
    console.log("数字为 " + val);
    val = "Runoob";
    console.log("字符串为 " + val);

    输出结果为:

    数字为 12
    字符串为 Runoob

    如果赋值其它类型就会报错:

    var val:string|number 
    val = true 

    2、也可以将联合类型作为函数参数使用:

    function disp(name:string|string[]) { 
            if(typeof name == "string") { 
                    console.log(name) 
            } else { 
                    var i; 
                    for(i = 0;i) { 
                    console.log(name[i])
                    } 
            } 
    } 
    disp("Runoob") 
    console.log("输出数组....") 
    disp(["Runoob","Google","Taobao","Facebook"])

    编译以上代码,得到以下 JavaScript 代码:

    function disp(name) {
            if (typeof name == "string") {
                    console.log(name);
            }
            else {
                    var i;
                    for (i = 0; i < name.length; i++) {
                    console.log(name[i]);
                    }
            }
    }
    disp("Runoob");
    console.log("输出数组....");
    disp(["Runoob", "Google", "Taobao", "Facebook"]);

    输出结果为:

    Runoob
    输出数组....
    Runoob
    Google
    Taobao
    Facebook

    二、联合类型数组

    我们也可以将数组声明为联合类型:

    var arr:number[]|string[]; 
    var i:number; 
    arr = [1,2,4] 
    console.log("**数字数组**")  
     
    for(i = 0;i) { 
       console.log(arr[i]) 
    }  
     
    arr = ["Runoob","Google","Taobao"] 
    console.log("**字符串数组**")  
     
    for(i = 0;i) { 
       console.log(arr[i]) 
    }

    编译以上代码,得到以下 JavaScript 代码:

    var arr;
    var i;
    arr = [1, 2, 4];
    console.log("**数字数组**");
    for (i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    arr = ["Runoob", "Google", "Taobao"];
    console.log("**字符串数组**");
    for (i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }

    输出结果为:

    **数字数组**
    1
    2
    4
    **字符串数组**
    Runoob
    Google
    Taobao
  • 相关阅读:
    iOS 开发--NSMutableArray使用枚举方法
    IOS开发中的几种设计模式
    iOS开发--提交github代码
    iOS开发--CornerStone上传静态库(.a文件)
    iOS开发swift--函数
    iOS开发--自动布局
    iOS开发--邮箱,电话号码,身份证正则表达式验证
    Redis学习笔记~实现消息队列比MSMQ更方便
    WebApi系列~基于RESTful标准的Web Api
    推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
  • 原文地址:https://www.cnblogs.com/springsnow/p/13193774.html
Copyright © 2011-2022 走看看