浏览器不能直接执行TypeScript文件,我们需要编译成JavaScript
    将js文件后缀名改为.ts
    修改tsconfig.json,注释掉allowJs和checkJs

    1. {
    2. "compilerOptions": {
    3. "target": "ES2020",
    4. "module": "es2020",
    5. // "allowJs": true, /* Allow javascript files to be compiled. */
    6. // "checkJs": true, /* Report errors in .js files. */
    7. "typeRoots": [
    8. "@types",
    9. "node_modules/@types"
    10. ],
    11. "esModuleInterop": true,
    12. }
    13. }

    运行tsc命令,每个ts文件都会生成对应的js文件

    TypeScript会根据代码推断返回值的类型,如果有赋值,则是赋值的类型,否则,类型为any
    下图中,price类型为any, vat类型为number,返回值的类型为number
    image.png
    TypeScript允许我们直接指定类型
    下图中,参数和函数返回值都指定了类型为number,TypeScript不用再推断类型
    image.png

    运行**tsc**命令,会发现得到的js文件丢掉了指定类型

    如果别人从外部调用这个函数,他仍然可以传任何类型

    image.png

    运行**tsc --watch**命令,每次保存文件时,都会自动转译成js
    TypeScript that generates JavaScript is called emitting
    如果我们不想生成js文件,则运行 **tsc --noEmit**或者在tsconfig.json将noEmit设置为true
    如果我们想有错误时不生成js文件,则运行**tsc --noEmitOnError**在tsconfig.json中将 noEmitOnError设置为 true
    tsc默认编译所有文件,如果只想编译某个文件,则在tsc 后接文件名
    例如**tsc example-two.ts --noEmitOnError**