ts基础类型

布尔值(boolean)

同js布尔值使用

let name: boolean = false

数字

js数字以及十进制、十六进制、二进制、八进制的数字

let decLiteral: number = 6; // 十进制
let hexLiteral: number = 0xf00d; // 十六进制
let binaryLiteral: number = 0b1010; // 二进制
let octalLiteral: number = 0o744; // 八进制
注意:js中二进制、十六进制、八进制字面量数值,都会自动转为十进制进行运算

字符串

js中字符串类型以及模版字符串

 // 普通字符串
let name: string = "nn";
// 模版字符串+变量
let model: string = 'nn';
let name: string = `名字${model}`;

数组

// 元素类型后面接上[]
let list: number[] = [1, 2, 3];
// 数组泛型 Array<元素类型>
let list: Array<number> = [1, 2, 3];

元组

元组类型:允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
越界:当越界访问或赋值时,使用声明中的联合类型

注意:typescript 2.7+越界也会提示错误
// 声明
let x: [string, number];
// 初始化
x = ['hello', 10];
// 越界赋值(typescript 2.7+提示错误)
x[2] = 1 // true typescript 2.7+版false
x.push(1) // true typescript 2.7+版true
console.log(x[5].toString()); // true typescript 2.7+版false

枚举

enum类型:是对JavaScript标准数据类型的一个补充
使用枚举类型可以为一组数值赋予友好的名字。
默认行为:
1.默认为数字0
2.当为数字时,如果项目没有设置,会根据前面的值依次递增
可以通过项的value来获取key

  // 默认从0开始为元素编号
  enum Color {
    Red,
    Green,
    Blue,
  }
  console.log(Color.Red); // 0
  console.log(Color.Green); // 1
  console.log(Color.Blue); // 2
  // 通过value获取key
  console.log(Color[2]) // Blue
  // 只设置部分项
   enum Color2 {
    Red = 1,
    Green = 3,
    Blue,
  }
  console.log(Color2.Red); // 1
  console.log(Color2.Green); // 3
  console.log(Color2.Blue); // 4
注意:可以进行遍历,与对象相同

any

可以为任意值

Void

没有任何类型,常用于函数没有返回值时

// 只能是undefined
let unusable: void = undefined;

Null 和 Undefined

只有null和undefined自己
通常作为联合类型使用,不单独使用

never

never类型:表示的是那些永不存在的值的类型

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

// 推断的返回值类型为never
function fail() {
    return error("Something failed");
}

// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
    while (true) {
    }
}

Object

object表示非原始类型,也就是除number,string,boolean,symbol,null或undefined之外的类型

// 创建参数为object
  const create = function (o: object): void {
    console.log(o);
  };
  // 函数
  const fn = function () {
    console.log('测试');
  };
  create({ a: 1 }); // true
  create(fn); // true
  create(null); // false
  create('str') // false
  create(1) // false

类型断言

不进行类型判断,只在编译时起作用
1.<类型>验证值
2.验证值 as 类型(常用; JSX时只能用这种方式)

let str: any = 'this is string'
// <类型>验证值
let strLen: number = (<string>str).length
// 验证值 as 类型(常用)
let strLen2: number = (str as string).length
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TSTypeScript)是一种静态类型检查的高级编程语言,它是JavaScript的超集。在TS中,基础类型和泛型都是其重要的概念。 基础类型指的是TS中预定义的简单数据类型,例如:number、string、boolean、null、undefined等。基础类型用于表示变量或函数的数据类型,可以直接赋值给变量,也可以用作函数的参数和返回值类型基础类型的定义和使用非常简单,只需要在变量或函数的类型声明中指定即可。 泛型(Generic)是一种在编程中广泛使用的概念,它允许我们在定义函数、类或接口时使用可变的类型。使用泛型可以提高代码的复用性和灵活性。在TS中,使用<>符号来声明使用泛型,并通过类型参数来指定具体的类型。 例如,定义一个泛型函数: function identity<T>(arg: T): T { return arg; } 这个函数使用了泛型类型参数T,可以接受不同类型的实参,并返回相同类型的值。通过使用泛型,我们可以传入任意类型的参数,而不需要重写多个函数。 另外,在TS中还可以使用泛型约束来限制泛型类型的操作。通过在泛型类型参数后面添加extends关键字和约束类型,可以确保传入的类型必须满足特定条件。 总结起来,TS中的基础类型和泛型都是为了增强代码的可读性、可维护性和可靠性而设计的。基础类型用于定义简单的数据类型,而泛型则用于创建更灵活和可复用的函数、类和接口。在实际开发中,合理使用基础类型和泛型,可以提高代码的质量和开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值