https://ts.nodejs.cn/docs/handbook/typescript-from-scratch.htmlhttps://www.typescriptlang.org/play/?#code/PTAEHUFMBsGMHsC2lQBd5oBYoCoE8AHSAZVgCcBLA1UABWgEM8BzM+AVwDsATAGiwoBnUENANQAd0gAjQRVSQAUCEmYKsTKGYUAbpGF4OY0BoadYKdJMoL+gzAzIoz3UNEiPOofEVKVqAHSKymAAmkYI7NCuqGqcANag8ABmIjQUXrFOKBJMggBcISGgoAC0oACCbvCwDKgU8JkY7p7ehCTkVDQS2E6gnPCxGcwmZqDSTgzxxWWVoASMFmgYkAAeRJTInN3ymj4d-jSCeNsMq-wuoPaOltigAKoASgAywhK7SbGQZIIz5VWCFzSeCrZagNYbChbHaxUDcCjJZLfSDbExIAgUdxkUBIursJzCFJtXydajBBCcQQ0MwAUVWDEQC0gADVHBQGNJ3KAALygABEAAkYNAMOB4GRonzFBTBPB3AERcwABS0+mM9ysygc9wASmCKhwzQ8ZC8iHFzmB7BoXzcZmY7AYzEg-Fg0HUiQ58D0Ii8fLpDKZgj5SWxfPADlQAHJhAA5SASPlBFQAeS+ZHegmdWkgR1QjgUrmkeFATjNOmGWH0KAQiGhwkuNok4uiIgMHGxCyYrA4PCCJSAA

概述

TypeScript JavaScript 的一个超集,主要侧重于代码语法类型检查,在JS中,定义的所有类型都是静态类型,也就是弱类型语言,对与定义的变量无法正确的区分和使用,因此会出现不必要的问题产生

let funcTest = "func";
funcTest();
Uncaught TypeError: funcTest is not a function

当定义的变量不是一个function时,并当做一个function调用时,就会报一个TypeError类型错误!

12.toLowerCase();
Uncaught SyntaxError: Invalid or unexpected token

或者试着调用一个不存在的方法,就会在代码运行时,出现各种未知的问题!

从上面来看,当JavaScript运行代码之前,我们是很难确定语法类型的相关错误问题,这会导致我们只有去运行代码后,才会出现各种各样的未知问题!

基础部分

静态类型检查

静态类型检查,既是在编写代码的过程中,遇到类型,或者是错误方法一些不正常使用或调用时,会即刻编辑器中,通过红色波浪线去及时反馈开发者,此时将问题的描述会避免在代码运行时出现该问题!

非异常故障

非异常行为,包括,方法名拼写错误、调用对象中一个不存在的属性、函数调用时未加小括号等相关问题!

  1. 访问对象不存在的属性值,在js中会反馈一个undefind!

    const user = {
      name: "张三",
      age: 18
    }
    user.location
    
  2. 拼写错误检查

    const str = "Hello World";
    str.toLocaleLowerCased(); // toLocaleLowerCase();
    
  3. 检查逻辑语法问题

    const value = Math.random() < 0.5 ? '小于' : '大于';
    if( value !== '小于' ){
    
    } else if( value === '大于' ){
    
    }
    
    • ts

本地使用或安装

  1. 安装TypeScript!

    npm i typescript -g
    
  2. 在本地创建hello.ts文件,ts文件本身是无法运行的,需要通过TypeScript编译后,方可执行!

    const value = "hahahah";
    value.toLocaleUpperCase();
    console.log("Hello, world!" + value);
    
  3. 使用TypeScript进行文件编译

    tsc hello.ts
    
    • 编译后,会在本地生成一个.js的文件,可以使用node .js 来执行编译后的文件!
    node hello.js
    
  4. TypeScript基本命令:

    • 初始化ts配置文件typescript.config.js

      tsc --init
      
    • 自动编译ts文件

      tsc --watch
      
    • 类型检测有问题时,不去触发自动编译

      tsc --noEmitOnError hello.