前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Typescript基本类型

Typescript基本类型

作者头像
前端进击者
发布2021-07-27 11:30:22
4100
发布2021-07-27 11:30:22
举报
文章被收录于专栏:前端有的玩

自从ES2015中引入了Symbol,ES2020引入了BigInt,在js中共包含了7种基本类型,分别是String,Number,Boolean,undefind,null,Symbol,BigInt。同时,这些基本类型在ts中也相应的包含了这些基本类型。

「字符类型」

在ts中,使用string来表示字符类型

代码语言:javascript
复制
const title: string = '这是typescript的字符串'

在es2015中引入了模板字符串,在ts中,字符类型也支持使用模板字符串

代码语言:javascript
复制
const name: string = '子君'
const desc: string = `我的名字叫${name}`

当然拼接字符串也是可以的

代码语言:javascript
复制
const firstName: string = '子君'
const lastName: string = '托洛夫斯基'
const name: string = firstName + '·' + lastName

「数值类型」

在ts中,使用number来表示数值类型

代码语言:javascript
复制
const age: number = 16

数值可以表示为二进制,八进制,十进制和十六进制

代码语言:javascript
复制
// 二进制
const num1: number = 0b10101
// 八进制
const num2: number = 0o5023
// 十进制
const num3: number = 1234
// 十六进制
const num4: number = 0xA23D

在js中有两个特殊的值NaNInfinity,它们在ts中也属于数值类型

代码语言:javascript
复制
const num5: number = NaN

const num6: number = Infinity

「布尔类型」

在ts中,使用boolean来表示布尔类型

代码语言:javascript
复制
const isTrue: boolean = true

「注意」ts中boolean类型只有两个值,truefalse,在js中,除这两个值之外,其他Falsy值均不能表示为boolean类型(undefined与null比较特殊,见下一节)。

代码语言:javascript
复制
// 报错  Type '0' is not assignable to type 'boolean'
const result: boolean =  0

Falsy值包括 false, undefined, null ,0, '', NaN, 0n

「undefined」 和 「null」

在ts中,undefinednull即表示为值,也表示为类型,具体是值还是类型,取决于在语法中的位置

代码语言:javascript
复制
// 前一个undefined为类型,后一个为值
 const name: undefined = undefined
 const sex: null = null

在ts中,undefinednull是任何其他类型的子集,这意味着所有其他类型的变量属性都可以被赋值为undefined,null

代码语言:javascript
复制
 let name: string = undefined
 name = '张三'
 let age: number = null
 age = 10

在上一节说道布尔类型只能赋值true或者false,其实也可以赋值undefined,null

代码语言:javascript
复制
let isTrue: boolean = undefined
isTrue = true

如果只想让undefined,null赋值给自己这种类型,可以在tsconfig.json开启strictNullChecks

代码语言:javascript
复制
{ 
  "compilerOptions": { 
     "strictNullChecks": true
   }
 }

「Symbol」

Symbol是ES2015新增类型,它的功能类似于一种标识唯一性的ID。

代码语言:javascript
复制
const symbol1: Symbol = Symbol()
// symbol 可以指定一个描述
const symbol2: Symbol = Symbol('key')

「BigInt」

BigInt是ES2020新增数据类型,用于支持比Number数据类型支持的范围更大的整数值。使用BigInt,整数溢出的问题将不复存在。

代码语言:javascript
复制
// bigint数值,需要在数字后面加字母n
const bigint1: bigint = 999999999999999999n
// 也可以使用BigInt构造函数来表示
const bigint2: bigint = BigInt('9999999999999')
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端有的玩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 「字符类型」
  • 「数值类型」
  • 「布尔类型」
  • 「undefined」 和 「null」
  • 「Symbol」
  • 「BigInt」
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档