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


风的全球图【摘自微软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

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

<完>

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

作者:小处成就大事

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,358评论 0 33
  • JavaScript之父:Brendan Eich 。 -基本语法:借鉴了C语言和Java语言。-数据结构:借鉴了...
    饥人谷_kule阅读 3,770评论 0 0
  • (转公众号 庄雅婷) 最近流行一个词,叫“空巢青年”,看见的一瞬间,我就“啊哈”一下笑了出来。觉得这真是够够的了。...
    王羽蒙阅读 3,899评论 4 0
  • 枕着深夜的灯光读完了第二本毛姆的书——《月亮和六便士》,读了前三四章是迷茫的,以为是一篇名作者的回忆录,回忆着一个...
    树懒猪妖阅读 2,948评论 0 0
  • 我和我的偶像 马季 在我上小学时,通过电匣子我能接触的相声就是马季先生说的,所以从那时起,对相声有种莫名的喜爱,甚...
    罗掌柜real阅读 3,372评论 1 0

友情链接更多精彩内容