Typescriptのタイプと使用

typescriptタイプ

数(自然数、浮動小数点数、負の数)

let number1: number = 111222;
console.log(number1)
number1 = 12.3
console.log(number1)
number1 = -5
console.log(number1)
// 已经定义为number就不能再将其赋值其它类型
number1 = 'dx';

ここに画像の説明を挿入します

文字列型文字列

let str:string = "dx";
console.log(str)
//如果str定为字符串,就只能为其赋值字符串,赋值为number或其它类型会报错
str = 1

ここに画像の説明を挿入します

配列型配列

// 空数组
let array1: [] = [];

// number数组 数组的元素必须全为number类型,否则会报错
let numberArray1: number[] = [1, 2, 3, 4, 5];
// numberArray1.push('dx')
numberArray1.push(2.4);

//字符串数组 数组的元素必须全为字符串类型,否则会报错
let stringArray: string[] = ['x', 'y'];

//对象数组 数组的元素必须全为对象,每个对象都必须有a属性,值为number
let objArray: {
    
    
  a: number;
}[] = [{
    
     a: 1 }];

タプルタイプタプル(配列内の各要素のタイプを指定するために使用されます)

// tuple元祖类型是数组类型的一种 限制数组的元素个数,
// 并且限制每一个元素的类型
let tupleArray: [string,number,object] = ['dx',3,{
    
    }] 

列挙型列挙型

// 枚举类型enum
enum Flag {
    
    
  wait = '待支付',
  success = '已支付',
  error = '有内鬼,终止交易',
}

let EnumWait: Flag = Flag.wait;
console.log(EnumWait); //'待支付'

// 也可以直接一点
console.log(Flag.error);

// 不赋值的枚举,会默认赋值为数组的下标
enum Enum1 {
    
    
  a,
  b,
  c,
}
let Enum1Value: Enum1 = Enum1.a;

console.log(Enum1Value); // 0
console.log(Enum1.b); // 1

//不全赋值枚举类型
enum Enum2 {
    
    
  a = 2,
  b,
  c,
}
let Enum2Value: Enum2 = Enum2.a;
console.log(Enum2Value); // 2
console.log(Enum2.b); // 3

// 会报错的部分枚举, 不能不赋值枚举的类型,除非它上一个没有被赋值或者赋值为number类型
// enum Enum3 {
    
    
// a = 'dx',
// b,
// c,
// }

// 不会报错的部分枚举
enum Enum4 {
    
    
  a = 1,
  b,
  c,
}

enum Enum5 {
    
    
  a = 'dx',
  b = 1,
  c,
}

いかなるタイプ

// 任意类型 any, 不再受到类型的限制,想怎么赋值就怎么赋值
// 当你不知道某个变量的类型时,可以设置为any
let any1:any = 1
any1 = 'dx'
let any2:any = ''
any2 = 2
let any3:any = {
    
    }
let any4:any = function() {
    
    }
let any5:any = []

null和未定義

// undefined 类型 当你不知道某一个变量是否有值时,可以在联合类型中使用undefined
let undefined1: number | undefined = 1;
undefined1 = undefined;

let undefined2: number | undefined = undefined;

// undefined的值只能赋值为undefined
// let undefined3: undefined = null 是不对的


// null类型
let null1:null = null
// null只能赋值为null
// let null2:null = undefined

ボイドタイプ

// void类型,没有任何类型,一般用于方法没有返回值
// a是一个函数,不接受任何参数,并不返回任何值
let a: () => void = function () {
    
    }

function run(): void {
    
    
  console.log(run);
}

// 如果方法有返回值number
function run1(): number {
    
    
return 123
}

如果方法接收参数,返回number
let b: (c:string) => number = function (c) {
    
    
  return Number(c)
}

入力しないでください

// never 类型 表示其它类型,常用于抛出异常,因为我们不知道抛出的异常是一个什么类型,never可以被any代替,不常用
let d: never = (() => {
    
    
  throw new Error('未知的错误');
})();

タイプ

//変数の定義と同様に、カスタムタイプを入力し、大きなキャメルケースの名前を付けます(業界標準。準拠しない場合はエラーは報告されません)
。//タイプは利便性と迅速性のためです。複数のデータタイプが同じ場合、 1つの変数を使用できますフォームはこのタイプを保存し、直接使用します。

type TestType = [string, number, any];

const TestType1: TestType = ['dx', 18, '牛逼'];

const TestType2: TestType = ['yx', 18, 4564];

// type 自定义,你想怎么玩都可以,能满足复杂数据的类型设置,

type TypeTest = {
    
    
  a: number;
  b: string;
  c: () => void;
};

const TypeTest1 = {
    
    
  a: 18,
  b: 'dx',
  c: () => {
    
    
    console.log(a);
  },
};

type Typea = string | number | boolean;

const Typea1: Typea = 1;
const Typea2: Typea = 'dx';
const Typea3: Typea = false;

おすすめ

転載: blog.csdn.net/glorydx/article/details/111030057