TypeScript学习(二)——数据类型一
来源:互联网 发布:vb修改word文档的内容 编辑:程序博客网 时间:2024/06/15 02:33
JavaScript类型:原始数据类型和对象数据类型
原始数据类型:布尔值、数值、字符串、null、undefined、Symbol(ES6中的新类型)。
布尔值
使用boolean定义布尔值类型:
let bol: boolean = false;
在TypeScript中,boolean是JS中的基本类型,而Boolean是JS中的构造函数。
数值
使用number定义数值类型:
let aNumber: number = 6;
字符串
使用String定义字符串类型:
let aString:string = 'aa';let sentence: string = `Hello,this is ${aString}`; //模板字符串
注: ` 用来定义模板字符串,${expr}用来在模板字符串中嵌入表达式。
空值
JS中没有空值(void)的概念,在TypeScript中表示没有任何返回值的函数:
function alertName(): void { alert('What is your name?');}
Null 和Undefined
在 TypeScript 中,可以使用 null 和 undefined 来定义这两个原始数据类型:
let u: undefined = undefined;let n: null = null;
undefined类型的变量只能被赋值为undefined,null类型的变量只能被赋值为null。
undefined和null是所有类型的子类型。undefined类型的变量,可以赋值给number类型的变量。
let num: number = undefined;
任意值
Any用来表示允许赋值为任意类型。
普通的类型在赋值过程中不允许改变类型,any类型允许被赋值为任意类型:
let a: any = 'good';a = 7;
在任意值上允许访问任何属性以及调用任何方法。
声明一个变量为任意值后,对它的任何操作,返回的内容的类型都是任意值。
类型推论
如果没有明确的指定类型,TypeScript会依照类型推论的规则推断出一个类型。
let a = 'good'; //没有指定类型,默认为stringlet b = 2; //没有指定类型,默认为number
联合类型
表示取值可以是多种类型中的一种。
let a: string | number; //表示a只能赋string和number类型的值a = 'good';a = 2;
function getLength(something: string | number): number { return something.length;//在不知道something的确切类型时,只能访问此联合类型的共有的属性和方法,但是.length方法只在string类型中有,而number中没有,报错。}
联合类型的变量在被赋值的时候,会根据类型推论的规则推断出一个类型:
let myFavoriteNumber: string | number;myFavoriteNumber = 'seven';//类型推断为stringconsole.log(myFavoriteNumber.length); // 5,正确myFavoriteNumber = 7;console.log(myFavoriteNumber.length); // 编译时报错
阅读全文
0 0
- TypeScript学习(二)——数据类型一
- Typescript学习笔记(三)——数据类型
- TypeScript学习(一)——TypeScript简介及环境准备
- typescript学习笔记(二)
- TypeScript学习笔记(一)
- TypeScript数据类型-TS学习笔记(1)
- TypeScript学习-TypeScript数据类型简介
- TypeScript学习笔记一
- TypeScript学习笔记一
- Angular学习笔记(1)——TypeScript基础
- Typescript数据类型
- TypeScript学习笔记(二)之Browserify Gulp
- AngularJS2 学习笔记——TypeScript
- TypeScript学习(2)
- 【前端】-TypeScript介绍(二)
- 浅谈 TypeScript 特性 (二)
- 我的MYSQL学习笔记(二)——数据类型
- php 学习笔记 —— 变量 数据类型 数组 (二)
- 《程序员的自我修养》读书总结
- 三次握手四次挥手的原理
- 根据先序遍历数列和中序遍历数列重建二叉树
- iOS-申请邓白氏编码的超详细流程介绍
- 内容安全策略(CSP) Html5
- TypeScript学习(二)——数据类型一
- 移动端的头部标签和 meta
- 第三周:207. Course Schedule(课程计划)
- python else在for、while、try 语句中使用
- 3 运输层(二)
- CompareValidator控件
- log4j+logstash
- Android 怎么全局替换包名
- Python 读和写