Resumen de tipos de datos mecanografiados

Qué es

typescriptEs javascriptcasi lo mismo, tiene el mismo tipo de datos y javascriptproporciona tipos más prácticos para el desarrollo sobre la base.

En la fase de desarrollo, es posible definir un cierto tipo para una variable específica, de modo que typescriptla verificación de tipos se pueda realizar en la fase de compilación, y aparecerá un mensaje de error cuando el tipo no cumpla con el resultado esperado.

Qué

typescriptLos principales tipos de datos son los siguientes:

  • 1. booleano (tipo booleano)
  • 2. número (tipo de número)
  • 3, cadena (tipo de cadena)
  • 4. matriz (tipo de matriz)
  • 5. tupla (tipo de tupla)
  • 6, enum (tipo de enumeración)
  • 7. cualquier (cualquier tipo)
  • 8. Tipos nulos e indefinidos
  • 9. tipo vacío
  • 10, nunca escribas
  • 11. objeto (tipo de objeto)

booleano

let flag:boolean = true;
flag = 123;    // 错误
flag = false;  // 正确
复制代码

número

Los tipos numéricos de y javascript一样son typescriptnúmeros de punto flotante que admiten binarios, octales, decimales y hexadecimales.

let num:number = 123;
num = '456';   // 错误
num = 456;     // 正确
复制代码

Representación básica:

let decLiteral:number = 6; // 十进制
let hexLiteral:number = 0xfood; // 十六进制
let binaryLiteral:number = 0b1010; // 二进制
let octalLiteral:number = 0o744; // 八进制
复制代码

cuerda

Los tipos de cadena, javascriptcomo en, pueden usar comillas dobles ( ") o comillas simples ( ') para representar cadenas

let str:string = 'this is ts';
str = 'test';
复制代码

Como superconjunto, por supuesto, también se puede envolver en cadenas de plantilla y variables incrustadas a través de ${}

let name:string = `Gene`;
let sentence:string = `Hello, my name is ${name}`
复制代码

formación

El tipo de matriz, javascriptde acuerdo con eso, se []puede escribir de dos maneras envolviéndolo:

Método 1: el tipo de elemento va seguido de[]

let arr:string[] = ['12','23'];
arr = ['45','56'];
复制代码

Método 2: use genéricos de matriz Array<元素类型>,:

let arr:Array<number> = [1,2];
arr = ['45','55'];
复制代码

tupla

Un tipo de tupla, que permite representar una matriz de elementos y tipos conocidos, no es necesario que cada elemento sea del mismo tipo

let tupleArr:[number,string,boolean];
tupleArr = [12,'34',true]; // yes
tupleArr = [12,'34']; // no
复制代码

enumeración

enumLos tipos son javascriptun complemento de los tipos de datos estándar, y los tipos de enumeración se pueden usar para dar un nombre descriptivo a un conjunto de valores.

enum Color {Red,Green,Blue}
let c:Color = Color.Green;
复制代码

ninguna

Se pueden especificar valores de cualquier tipo. Las variables cuyos tipos no se conocen en la etapa de programación especifican un tipo. No desea que el verificador de tipos verifique estos valores, sino que los deje pasar directamente la verificación de la etapa de compilación. En este momento, puedes usar el anytipo

使用any类型允许被赋值为任意类型,甚至可以调用其属性、方法

let num:any = 123;
num = 'str';
num = true;
复制代码

定义存储各种类型数据的数组时,示例代码如下:

let arrayList:any[] = [1,false,'fine'];
arrayList[1] = 100;
复制代码

null和undefined

javascriptnull表示 “什么都没有”,是一个只有一个值的特殊类型,表示一个空对象引用,而undefined表示一个没有设置值的变量。

默认情况下nullundefined是所有类型的子类型,就是说你可以把nullundefined赋值给number类型的变量

let num:number | undefined; // 数值类型或者undefined
console.log(num); // 正确
num = 123; 
console.log(num); // 正确
复制代码

但是ts配置了--strictNullChecks标记,nullundefined只能赋值给void和它们各自

void

用于标识方法返回值的类型,表示该方法没有返回值。

function hello():void {
    alert('Hello Runoob')
}
复制代码

never

never是其他类型(包括nullundefined)的子类型,可以赋值给任何类型,代表从不会出现的值,

但是没有类型是never的子类型,这意味着生命never的变量只能被never类型所赋值。

never类型一般用来指定哪些总是会抛出异常,无限循环

let a:never;
a = 123; // 错误的写法

a = (() => { // 正确的写法
    throw new Errow('错误')
})()

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

object

对象类型,非原始类型,常见的形式通过{}进行包裹

let obj:object;
obj = {name:'Zhang',age:23};
复制代码

总结

javascript基本一致,也分成:

  • 1、基本类型
  • 2、引用类型

在基础类型上,typescript增添了void、any、emun等原始类型。

如果你觉得此文对你有帮助,点个赞,鼓励一下。

Supongo que te gusta

Origin juejin.im/post/7078584459385110559
Recomendado
Clasificación