当前位置:网站首页>LayaBox---TypeScript---基础数据类型
LayaBox---TypeScript---基础数据类型
2022-07-30 17:38:00 【格拉格拉】
目录
2.数字 number--> ts里所有数字都是浮点数,这些浮点数的类型是 number
3.字符串 string-->文本数据类型,可以使用双引号“aaa” 或单引号‘aaa’表示
6.enum枚举--> 像C#等语言一样,枚举类型可以为一组数值赋予友好的名字。
7.Any--->当你为不确定类型的变量指定一个类型时,可以使用any类型来标记这些变量。
----------------------------------------------其他-------------------------------------
3.Object类型--->表示非原始类型,也就是除number,string,boolean,symbol,null 或 undefined之外的类型。
一:TypeScript 基础类型
最简单的数据单元:数字,字符串,结构体,布尔值等
1.布尔值 boolean : true/false
布尔值--> let isDone: boolean = false;2.数字 number--> ts里所有数字都是浮点数,这些浮点数的类型是 number
let decLiteral: number = 6; //十进制
let hexLiteral: number = 0xf00d; //十六进制
let binaryLiteral: number = 0b1010; //二进制
let octalLiteral : number = 0o744; //八进制3.字符串 string-->文本数据类型,可以使用双引号“aaa” 或单引号‘aaa’表示
let name: string = "bob";
name = "smith";也可以使用模版字符串,它可以定义多行文本和内嵌表达式。并以${ } 这种形式嵌入表达式
let name: string = 'Gene';
let age: number = 34;
let sentence: string = ‘Hello,my name is ${ name }.
I'll be ${ age + 1} years old next month.';
与下面定义sentence的方式效果相同:
let scentence: string = "Hello, my name is" + name +".\n\n"+
"I'll be" + (age +1)+ " years old next month.";4.数组-->有2种定义方式:
第一种:在元素类型后面接[]
let list: number[] = [1,2,3];
第二种:使用数组泛型,Array<元素类型>
let list: Array<number> = [1,2,3];5.元组--->允许表示一个已知元素数量和类型的数组。
let x: [string , number];
x = ['hello' , 10];
当访问一个已知索引的元素,会得到正确的类型:
console.log(x[0].substr(1)); //ok
console.log(x[1].substr(1)); //error, 'number' does not have 'substr'6.enum枚举--> 像C#等语言一样,枚举类型可以为一组数值赋予友好的名字。
1.默认从0开始元素编号
enum Color
{
Red,
Green,
Blue
}
let c: color = Color.Red;
--------------------------------------------------------------
2.也可以手动指定成员的数值,如从1开始编号:
enum Color
{
Red = 1,
Green,
Blue
}
let c: color = Color.Red;
--------------------------------------------------------------
3.或者全部手动编号:
enum Color
{
Red = 1,
Green = 2,
Blue = 4
}
let c: color = Color.Red;
----------------------------------------------------------------
枚举类型提供了一个便利,可以由枚举值得到它的名字。
enum Color
{
Red = 1,
Green,
Blue
}
let colorName: string = Color[2];
console.log(colorName); //显示‘green’ 因为上面代码里它的值是2
7.Any--->当你为不确定类型的变量指定一个类型时,可以使用any类型来标记这些变量。
类型检查器不会对这些值进行检查,而是直接通过编译阶段的检查。
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false;
//当你只知道一部分数据的类型时,any类型也是有用的,比如,你有一个数组,它包含了不同类型的数据
let list: any[] = [1, true, "free"];
list[1] = 100;----------------------------------------------其他-------------------------------------
1.Void类型
//当一个函数没有返回值时,使用void类型
function warnUser(): void
{
console.log("This is my warning message");
}
//声明一个void类型的变量没什么用,因为你只能为它赋予 undefined 和 null
let unusable: void = undefined;
默认情况下 null 和 undefined 是所有类型的子类型,然而,当你指定了 --stricNullChecks标记,
null和undefined 只能赋值给void 和他们各自。2.Never类型--> 表示的是那些永不存在的值的类型。
例如:never类型是哪些总是会抛出异常或根本就不会有返回值的函数表达式或箭头表达式的返回值类型。
never 类型是任何类型的子类型,可以赋值给任何类型;然而没有任何类型是never的子类型,或可以赋值给never类型(除了never本身之外)。即使any也不可以赋值给never。
//返回never的函数必须存在无法达到的终点
function error(message: string): never
{
throw new Error( message );
}
//推断的返回值类型为never
function fail()
{
return error("something failed");
}
//返回never的函数必须存在无法达到的终点
function infiniteLoop(): never
{
while(true)
{
}
}3.Object类型--->表示非原始类型,也就是除number,string,boolean,symbol,null 或 undefined之外的类型。
使用object类型,就可以更好的表示像 Object.create这样的API.
例如:
declare function create(o: object | null): void;
create({prop: 0}); //ok
create(null); //ok
create(42); //error
create("string"); //error
create(false); //error
create(undefined); //error4.类型断言-----相当于其他语言的 强制类型转换
类型断言 有2种表现形式
let someValue: any = "this is a string";
1.‘尖括号’语法
let strLength: number = (<string>someValue).length;
2.as语法
let strLength: number = (someValue as string).length;边栏推荐
猜你喜欢

浅谈在线编辑器中增量编译技术的应用

如何让 JOIN 跑得更快?

952. 按公因数计算最大组件大小 : 枚举质因数 + 并查集运用题

2022年杭电多校第2场 1001 Static Query on Tree(树链剖分+哈希表差分

PyTorch 猫狗分类源代码及数据集

Hangzhou electric school game 2 1001 2022 Static Query on Tree (Tree + hash table difference chain subdivision
![(17)[系统调用]追踪系统调用(0环)](/img/d4/aa48745ac918ebfc45c07b587fa86f.png)
(17)[系统调用]追踪系统调用(0环)

习题:变量、常量和基本数据类型

un7.30:linux——如何在docker容器中安装MySQL?

Prometheus 基本概念
随机推荐
自动化早已不是那个自动化了,谈一谈自动化测试现状和自我感受……
什么是无损检测设备?
matlab simulink锂离子电池智能充电策略研究
中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030
一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧
What are the applications of X-rays?
今年这情况。。真心推荐专科的工程师升个本!
Error EPERM operation not permitted, mkdir ‘Dsoftwarenodejsnode_cache_cacach两种解决办法
LeetCode167: Sum of two numbers in sorted array
基于模糊PID的液压舵机伺服系统
多年以后「PageHelper」又深深的给我上了一课
想要写出好的测试用例,先要学会测试设计
esp32系列(5):esp32 蓝牙架构学习
fast shell porting
向量检索基础方法总结
论文阅读之《DeepIlluminance: Contextual IlluminanceEstimation via Deep Neural Networks》
Promise entry to proficient (1.5w word detailed explanation)
宽带射频放大器OA4SMM4(1)
S7-200SMART中定时器的使用方法和常见注意事项汇总
图注意力机制