ts总结3、类型系统:boolean、string、number、bigint、symbol、object、undefined、null(编译选项noimpolicitAny、strictNullCh

一、JavaScript 语言(注意,不是 TypeScript)将值分成8种类型。

  • number
  • string
  • boolean
  • null
  • undefined
  • object
  • bigint
  • symbol

TypeScript 继承了 JavaScript 的类型设计,以上8种类型可以看作 TypeScript 的基本类型。

注意:上面所有类型的名称都是小写字母,首字母大写的NumberStringBoolean等在 JavaScript 语言中都是内置对象,而不是类型名称。undefined 和 null 既可以作为值,也可以作为类型,取决于在哪里使用它们。

这8种基本类型是 TypeScript 类型系统的基础,复杂类型(引用类型)由它们组合而成。

1、number 类型

const x:number = 123;

const y:number =3.14;

const z:number = 0xffff

// 整数、浮点数和非十进制数都属于 number 类型。

2、string 类型

const x:string = 'hello';

const y:string = `${x} world`;

// 普通字符串和模板字符串都属于 string 类型

3、boolean 类型

cosnt x: boolean =true;

const y:boolean =false;

4、undefined类型、null类型:

undefined 和 null 是两种独立类型,它们各自都只有一个值(

undefined 类型只包含一个值undefined(即还未给出定义,以后可能会有定义

null类型:null 类型也只包含一个值null,表示为空(即此处没有值)

注意:

4.1、如果声明变量但是没有指定类型,被赋值为null或undefined;在关闭编译设置noimpolicitAny和strictNullChecks时,它们的类型就会被推断为any

4.2、想避免这种情况,则需要打开编译选项strictNullChecks;打开编译设置strictNullChecks以后,赋值为undefined的变量会被推断为undefined类型,赋值为null的变量会被推断为null类型。

5、object:object 类型包含了所有对象、数组和函数

const x:object = {a:1};

const y:object = [1,2,3];

const z:object = (n:number)=> n+1

// 上面示例中,对象、数组、函数都属于 object 类型。

6、bigint 类型 :包含了所有的大整数

const x:bigint = 123n;

const y:bigint = 0xffffn;

 6.1、bigint与number不兼容

const x:bigint = 123 //报错

const y:bigint =3.14 //报错

7、symbol 类型:包含所有的Symblo值

const x:symbol = Symbol()

Symbol()函数的返回值就是 symbol 类型

二、包装对象类型

2.1、复合类型:object

2.2、原始类型(代表最基本的、不可再分的值):number、

你可能感兴趣的:(typescript)