开心档-软件开发入门之TypeScript 联合类型

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

TypeScript 联合类型

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

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

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

Type1|Type2|Type3

实例

声明一个联合类型:

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


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

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


输出结果为:

数字为 12
字符串为 Runoob


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

var val:string|number  
val = true

.

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

TypeScript

function disp(name:string|string[]) {  
        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"])


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

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


联合类型数组

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

TypeScript

var arr:number[]|string[];  
var i:number;  
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])  
}


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

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


相关文章
|
3月前
|
JavaScript 前端开发 安全
TypeScript 终极入门指南:从零到精通 🚀
TypeScript是JavaScript的超集,添加静态类型系统,提升代码健壮性与可维护性。本教程涵盖基础类型、高级特性、面向对象编程及最佳实践,配代码示例与图解,助你快速掌握TS核心概念,轻松进阶前端开发!🎉
501 2
TypeScript 终极入门指南:从零到精通 🚀
|
5月前
|
JavaScript 前端开发
揭秘 TypeScript 条件类型:超越简单类型检查
揭秘 TypeScript 条件类型:超越简单类型检查
|
5月前
|
JavaScript 安全 索引
TypeScript 高级类型工具:Partial, Required, Record 的妙用与陷阱
TypeScript 高级类型工具:Partial, Required, Record 的妙用与陷阱
|
5月前
|
JavaScript 安全 IDE
TypeScript 类型体操:别让 `any` 毁了你的安全网!
TypeScript 类型体操:别让 `any` 毁了你的安全网!
|
5月前
|
JavaScript 安全 编译器
TypeScript 类型守卫:让你的类型系统更智能
TypeScript 类型守卫:让你的类型系统更智能
|
10月前
|
存储 安全 JavaScript
TypeScript-内置应用程序类型-Recode
通过使用 `Record` 类型,开发者可以显著提升代码的安全性和可维护性。无论是配置对象、字典结构还是动态表单,`Record` 类型都提供了一个简洁、类型安全的解决方案。
464 82
|
设计模式 JavaScript 安全
TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等
本文深入探讨了TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等,旨在帮助开发者在保证代码质量的同时,实现高效的性能优化,提升用户体验和项目稳定性。
394 6
|
JavaScript 开发者
在软件开发中,代码规范至关重要,TypeScript 和 ESLint 是提升代码质量和团队协作效率的两大利器
在软件开发中,代码规范至关重要,TypeScript 和 ESLint 是提升代码质量和团队协作效率的两大利器。TypeScript 通过类型检查、接口定义和模块系统增强代码规范;ESLint 则专注于语法检查、风格统一和最佳实践。二者结合使用,能有效提高代码的可读性、可维护性,促进团队协作。制定合理的代码规范策略,注重团队共识、灵活性和持续优化,是确保项目成功的基石。
249 5
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
330 2
|
JavaScript 安全 前端开发
TypeScript类型声明:基础与进阶
通过本文的介绍,我们详细探讨了TypeScript的基础与进阶类型声明。从基本数据类型到复杂的泛型和高级类型,TypeScript提供了丰富的工具来确保代码的类型安全和可维护性。掌握这些类型声明能够帮助开发者编写更加健壮和高效的代码,提高开发效率和代码质量。希望本文能为您在使用TypeScript时提供实用的参考和指导。
334 2

热门文章

最新文章