Angular那些事首页投稿(暂停使用,暂停投稿)Web前端之路

通俗易懂TypeScript系列三:基本类型

2017-06-23  本文已影响106人  小处成就大事


风的全球图【摘自微软Bing】

1、布尔类型

布尔值类型是最简单的类型,只有两个值true和false

let a:boolean = true ;

a = 3;  //报错,不能把数字类型赋值给一个boolean类型

2、数字类型

和JavaScript一样,TypeScript里的所有数字都是浮点数, TypeScript同事还支持二进制、八进制、10进制、16进制

let decLiteral: number = 6;

let hexLiteral: number = 0xf00d;

let binaryLiteral: number = 0b1010;

let octalLiteral: number = 0o744;

3、字符串类型

和JavaScript一样,可以使用双引号(")或单引号(')表示字符串。

let  a:string = "hello";

let  b:string= 'hello';

console.log(a === b );//true;

4、数组类型

TypeScript像JavaScript一样可以操作数组元素。有两种方式可以定义数组

(1).在元素类型后面加[]

let arr:number[] =[1,2,4,5];

console.log(arr);

(2).使用数组范型定义

let arr:Array = [1,3,4,5];

console.log(arr);

注:赋值的时候对应的值必须是尖括号(<>)里面定义类型,否则编译不通过;或者把类型定义为any类型

5、元组类型

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同

let tuples:[number,string,boolean]=[1233,'eleven',true];

Console.log(tuples);// [1233,'eleven',true]

(1).如果赋值的时候,超出([number,string,boolean])你所声明的元组类型时,只要满足三者类型之一就可 看例子:

let tuples:[number,string,boolean] 
console.log(tuples[3]='222');//打印222

(2).如果赋的值的类型不在三者范围编译报错:看例子

let tuples:[number,string,boolean]
console.log(tuples[4]={"name":"小明"});// 这里赋值对象,编译不通过

6、枚举类型

枚举可以定义一些具有名字的数字常量(可以理解js的常量),和在C语言中一样都是使用关键字enum,一个枚举类型可以有多个枚举成员,每个枚举成员都有一个对应的数字值,这个数字值可以是常数(可以理解js的常量)或者是计算出来值。如果没有对一个枚举初始化,那么它的初始值为0。

我们看看例子:

(取值可以通过对象自变量方式取:console.log(a['Right']);或者console.log(a.Right);

(1).没有初始化枚举的情况下

enum a {

Up,

Down,

Left,

Right

};

console.log(a);//打印出来Up=0, Down=1,Left=2 ,Right =3;

(2).给枚举赋值的情况下

enum b {

Up,

Down=10,

Left,

Right

};

console.log(b);//打印出来Up=0, Down=10,Left=11 ,Right =12;

(3).给第一枚举成员赋值的情况下

enum c {

Up=10,

Down,

Left,

Right

};

console.log(c);//打印出来Up=10, Down=11,Left=12 ,Right =13;

结论:当没有给枚举赋初始值的时候,数字值从0开始逐渐加1;当给枚举值赋初始值时,数值从第一个枚举成员开始逐渐加1;当给其它枚举成员(除了第一个)赋值时,从当前枚举成员开始逐渐加1

7、任意值类型(any)

任意值类型,用关键字any修饰的变量,类似JavaScript弱类型,不存在类型检测

看例子:

let a: any = 123;

console.log(a);//输出:123 数字类型

a = "小明";

console.log(a);//输出:小明,  字符串类型

a = {name: ‘张三'};

console.log(a.name);//输出: 对象类型
//一个变量可以多次赋不同类型的值,跳过了类型检测

注:但是在开发中按实际情况定义类型,应该加强数据类型检测,少用any

个人学习心得,大神路过 ,不喜勿喷😊  ,如果你觉得不错,欢迎点赞,订阅,分享出去给需要的人,笔者将非常感谢

<完>

如果你是喜欢看书的朋友,不妨点击【有惊喜】这是我在亚马逊买的电子书,都非常珍贵。希望你能喜欢

作者:小处成就大事

简介:一个喜欢分享和学习的前端开发程序猿,平时喜欢看看书,游泳,爬山,户外骑行等,期待与志同道合的你成为朋友,一起交流、一起进步。

初衷:闲时喜欢写一些文章分享,记录丰富自己。可能没有别人写得好,但是我写的每一篇都非常用心和投入。真心希望来到这里对你有所收获,我将非常开心很欣慰。

博客小处成就大事_新浪博客

如果有志同道合的朋友不妨加微信一起交流和学习,期待你的到来

上一篇下一篇

猜你喜欢

热点阅读