ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【TypeScrip】学习 TypeScrip-1(基础类型)

2022-09-08 23:05:57  阅读:185  来源: 互联网

标签:undefined void number 学习 let TypeScrip 类型 null string


TS 是 JS 的超集,所以 JS 基础的类型都包含在内

起步安装 npm install typescript -g

运行编译 tsc 文件名

基础类型:BooleanNumberStringnullundefined 以及 ES6 的 Symbol 和 ES10 的 BigInt

字符串类型 string

字符串是使用 string 定义的

let a: string = 'aaa' // 普通声明
let b: string = `bbb${a}` // 也可以使用es6的字符串模板

数字类型 number

支持十六进制、十进制、八进制和二进制

let a:number = NaN // NaN
let b:number = 123 // 普通数字
let c:number = Infinity // 无穷大
let d:number = 6 // 十进制
let e:number = 0xf00d // 十六进制
let f:number = 0b1010 // 二进制
let g:number = 0o744 // 八进制

布尔类型 boolean

let a:boolean = true // 可以直接使用布尔值
let b:boolean = Boolean(1) // 也可以通过函数返回布尔值

注意,使用构造函数 Boolean 创造的对象不是布尔值:

let newBoolean:boolean = new Boolean(1) // 报错

事实上 new Boolean() 返回的是一个 Boolean 对象,需要改成:

let newBoolean:Boolean = new Boolean(1) // ok

null 和 undefined 类型

js 中 null 和 undefined 是两个基本数据类型
在 ts 中 null和 undefined 他们是类型,也是值

let a: undefined = undefined
let b: null = null

空值类型 void

JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void 表示没有任何返回值的函数

function voidFn(): void {
  console.log('void')
}

void 类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数

void 也可以定义 undefined 和 null:

let a: void = undefined
let b: void = null // 严格模式下会报错

void 和 undefined 和 null 最大的区别:undefined 和 null 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 string 类型的变量,反之 void 类型就不可以(可以配置)。

let a: void = undefined
let b: string = 'a'

b = a // 报错
let a: undefined = undefined
let b: string = 'a'
b = a // 严格模式下会报错

let a2: null = null
let b2: string = 'b2'
b2 = a2 // 严格模式下会报错

标签:undefined,void,number,学习,let,TypeScrip,类型,null,string
来源: https://www.cnblogs.com/cqkjxxxx/p/16671036.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有