typescript类型及配置文件

TS的数据类型
布尔值、数字、字符串、数组、元组、枚举、any、void、null和undefined、never、object

1) 数组
有两种方式可以定义数组
<1>可以在元素类型后面接上[]

   let list:string[] = ['1','2','3']

<2>使用数组泛型,Array<元素类型>

   let list:Array<string> = ['1','2','3']
  1. 枚举 enum( 枚举用于表示固定的几个取值)
    enum color {blue,red,green}
    let b:color = color.red
  1. any (任意类型) 【会让Ts类型保护机制失效,尽量不要使用】
  2. unknown(类型安全的any)
  3. void 表示没有类型
    function fn():void{
        console.log("hello");
    }
  1. never (never类型表示的是那些永不存在的值的类型)
  2. 元组 (元组类型[string, number, boolean])
     let list:[string, number, boolean];  // 表示定义了一个名称叫做list的元祖, 这个元祖中将来可以存储3个元素, 第一个元素必须是字符串类型, 第二个元素必须是数字类型, 第三个元素必须是布尔类型

    list = ['a', 1, false]; // list = ['a', 1, false, false]; // 超过指定的长度会报错
    list = ['a', 1, false];
    console.log(list);

8) 接口类型 interface (当一个对象类型被多次使用时,一般会用接口来描述对象的类型,达到***复用***的效果)

    interface Ipsrson {
        name:string
        age:number
        sayHi():void
    }

    let person:Ipsrson = {
        name:'Asan',
        age:19,
        sayHi(){}
    }

Ts 如何编译成Js
1) 我们可以在终端用tsc 文件名
2) 我们可以在终端用tsc 文件名 -w 监听ts文件的改变去生成js
3) 我们可以在终端用tsc(前提是我们文件配置中有tsconfig.json) 直接去把所有TS文件生成js (-w 则会监视所有文件)

tsconfig.json

{
    "include":["./src/**/*"],   // 用来指定哪些ts文件需要被编译 ** 代表任意文件夹名称  * 代表任何Ts文件
    "exclude":["nodde_modules","bower_components","jspm_packages"],       // 用来指定哪些ts文件不需要被编辑
    "extends":"./configs/base" , // 定义被继承的配置文件
    "files":[     // 指定被编译的文件列表,它是由文件名来指定 不是由路径
        "XXX.ts",
        "CCC.ts"
    ],
    "compilerOptions":{  // 用来完成对编译的配置
        "target":"es6",  // target 用来指定TS被编译为的版本
        "module":"es6",  // module 指定要使用的模块化的规范 他的值有:'none' , 'commonjs','amd','system','umd','es6','es2015','es2020','esnext'
         //"lib":[  // 用来指定项目中需要用到的库(在浏览器中运行,我们一般不需要改) ] ,
        // "outDir":"路径",   用来指定编译后文件所在的目录
        // "outFile":"路径",  所有的全局作用域中的代码会合并成同一个文件中
        "allows":false,   // 是否对我们的Js文件进行编译,默认为false
        "checkJs":false,   // 是否检查js代码是否符合语法规范
        "removeComments":false,   // 是否移除注释
        "noEmit":false,   // 不生产编译后的文件
        "noEmitOnError":false,     // 当有错误时不生成编译后的文件
        "strict":false,         // 所有严格检查的总开关
        "alwaysStrict":false,     // 用来设置编译后的js文件是否使用严格模式,默认false
        "noImplicitAny":true,     // 不允许隐士any类型
        "noImplicitThis":false,       // 不允许不明确类型的this
        "strictNullChecks":true,      // 严格的检查空值
    }
}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值