TS 基础

71 阅读1分钟

// TS 是编译时强类型的静态语言 // 浏览器和nodejs并不能直接识别TS代码,需要编译成js代码 // 编译时意味着任何类型错误都会在编译时发现,而不是在代码运行时

// 静态类型:类型是在编写代码的时候指定的,而不像js在运行的时候确定 // 强类型:更加严格的类型检查

// JS的类型 String Number Boolean Undefined Null Symbol BigInt Object // 类型标注 注意首字母小写 let v1:number = 1; let v2:string = "hello"; let v3:boolean = true; let v4:string; v4 = "world"; // null和undefined也是一种类型,只要有了类型标注,有且只有一个值 let nullVar:null = null; let undefinedVar:undefined = undefined;

// 类型推断 let v5 = 10; let v6 = "aaa"; let v7 = true;

// 如果还希望想js一样,赋值任意类型,可以使用any标注 let v8:any = 123; v8 = "hello"; v8 = true; v8 = null;

// 如果进行类型推断,直接给变量赋值null或者undefined,默认类型是any // 这其实也是TS的一个类型推断,不知道当前要赋值的类型,,所以推断any let v9 = null; let v10 = undefined;

let v11 = Symbol("a"); // TS在编译的时候可以指定要编译的js代码,对应编译的js代码,就会引用对应的js类型 // BigInt是ES2020的新语法 let v12 = 123n;

// 因为const声明的变量不能更改,所以默认的类型就是常量字面量类型 const v13 = 123; // 字面量类型,就只能是指定的值 // const v14:123 = 45; const v15:"hello" = "hello";

console.log(v15);