Résumé des types de données Typescript

Qu'est-ce que

typescriptC'est javascriptpresque la même chose, a le même type de données et javascriptfournit des types plus pratiques pour une utilisation en développement sur la base.

Dans la phase de développement, il est possible de définir un certain type pour une variable spécifique, afin que typescriptla vérification de type puisse être effectuée lors de la phase de compilation, et un message d'erreur apparaîtra lorsque le type ne répond pas au résultat attendu.

Quoi

typescriptLes principaux types de données sont les suivants :

  • 1. booléen (type booléen)
  • 2. nombre (type de nombre)
  • 3, chaîne (type chaîne)
  • 4. tableau (type tableau)
  • 5. tuple (type de tuple)
  • 6, enum (type d'énumération)
  • 7. tout (tout type)
  • 8. Types nuls et indéfinis
  • 9. type vide
  • 10, ne tapez jamais
  • 11. objet (type d'objet)

booléen

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

numéro

Les types numériques de , et javascript一样, typescriptsont des nombres à virgule flottante prenant en charge binaire, octal, décimal et hexadécimal.

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

Représentation de base :

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

chaîne de caractères

Les types de chaîne, javascriptcomme dans, peuvent utiliser des guillemets doubles ( ") ou des guillemets simples ( ') pour représenter des chaînes

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

En tant que sur-ensemble, bien sûr, il peut également être enveloppé dans des chaînes de modèle et des variables intégrées via ${}

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

déployer

Le type de tableau, javascriptcohérent avec cela, peut []être écrit de deux manières en l'enveloppant :

Méthode 1 : Le type d'élément est suivi de[]

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

Méthode 2 : Utiliser les génériques de tableau, Array<元素类型>:

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

tuple

Un type tuple, permettant de représenter un tableau d'éléments et de types connus, chaque élément n'a pas besoin d'être du même type

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

énumération

enumLes types sont javascriptun complément aux types de données standard, et les types d'énumération peuvent être utilisés pour donner à un ensemble de valeurs un nom convivial

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

quelconque

Des valeurs de n'importe quel type peuvent être spécifiées. Les variables dont les types ne sont pas connus au stade de la programmation spécifient un type. Vous ne voulez pas que le vérificateur de type vérifie ces valeurs, mais laissez-les directement passer la vérification de l'étape de compilation. À ce stade, vous pouvez utiliser le anytype

使用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等原始类型。

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

Je suppose que tu aimes

Origine juejin.im/post/7078584459385110559
conseillé
Classement