TypeScript

错误之处,欢迎指正。


1. 类型约束

  • numberstringboolean
let num: number = 1;
let str: string = "123";
let bol: boolean = true;
num = str; // Error

let id: any = "123";
id = 1;
id = true;
console.log(id); // true
  • Array
const arr: Array = [
  1, 2, 3
];
const arr2: Array = [
  1
]; // Error
  • type
type a = 1;
const num: a = 1;
const num1: a = 2; // Error
const num2: a = "1"; // Error
  • interface
interface itemModel {
  name: string,
  age: number
};
const obj: itemModel = {
  name: "chris",
  age: 17
};
// 使用在函数参数中
interface obj {
  name: string,
  age: number
} ;
function foo({name, age}: obj) {};
foo({
  name: "chris",
  age: 17
});
// 对函数进行约束
interface foo {
  (num: number): number
};
let myFoo: foo = (a) => { return a + "" }; // Error
myFoo(1);
  • void
    表示函数的返回值为undefined
function foo(): void {
  return true; // Error
};

2. 断言

  • as
const app: HTMLElement = document.getElementById("root"); // Error

const app: HTMLElement = document.getElementById("root") as HTMLElement;
const app: HTMLElement | null = document.getElementById("root");

你可能感兴趣的:(TypeScript)