学习TypeScrip(原始数据类型1)

2023-03-14  本文已影响0人  jamesXiao_

JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。

原始数据类型包括:字符串、数值、布尔值、nullundefined 以及 ES6 中的新类型 Symbol 和 ES10 中的新类型 BigInt

本节主要介绍前五种原始数据类型在 TypeScript 中的应用。

原始数据类型

String、Number、Boolean、null、undefined 以及 ES6 的 Symbol 和 ES10 的 BigInt

1. 字符串类型

// 普通声明
let name: string = '名字'
  
// 可以使用es6的模板字符串
let my:string = `我的${name}`

2. 数字类型

let notANumber:number = NaN // NaN
let num:number = 123 // 普通数字类型
let infinityumber: number = Infinity // 无穷大数字
let binary:number = 0b1010 // 二进制
let octal:number = 0o744 // 八进制
let decimal:number = 10 // 十进制
let hexadic:number = 0xf00d // 十六进制

3.布尔类型

使用 new Boolean() 创造的对象不是布尔值
// 会报错 new Boolean() 返回的是一个 Boolean 对象
let newBoolean:boolean = new Boolean(1)
  
// 修改为 Boolean 对象
let newBoolean:Boolean= new Boolean(1)
// 正常使用
let boolean:boolean = true
let boolean2:boolean = Boolean(1) 

4.Null和undefined类型

// 定义null
let n:null = null
// 定义undefined
let u:undefined = undefined

5.Void类型

表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void

function warnUser(): void {
  console.log("This is my warning message");
}

声明一个void类型的变量没有什么大用,因为你只能为它赋予undefinednull

let unusable: void = undefined;
let unusable: void = null;

与 void 的区别是,undefined 和 null 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 string 类型的变量

//这样写会报错 void类型不可以赋值给其他类型
let test:void = undefined
let num:number = 2
num = test
// 这样写没问题
let test:undefined= undefined
let num:number = 2
num = test
// 或者这样写
let test:null= null
let num:number = 2
num = test

而 void 类型的变量不能赋值给 number 类型的变量:

let u: void;
let num: number = u;

// Type 'void' is not assignable to type 'number'.
TIPS:注意

如果你配置了tsconfig.json 开启了严格模式

{
    "compilerOptions":{
        "strict": true
    }
}
viod严格模式.png
上一篇下一篇

猜你喜欢

热点阅读