TypeScript基本使用

TS基本使用

​ 这篇文档适合已经会JavaScript语言的,如果还没有学会JavaScript请先学习之后再来阅读。

基本类型

数据类型 关键字 描述
任意类型 any 任何类型接触到any类型都会关闭类型检查
未知类型 unknown 不会关闭语法检查的any类型
数字类型 number
字符串类型 string
布尔类型 boolean 表示逻辑值: true | false
数组类型 数组:[1,2,3,4]
元组类型 固定长度的数组
枚举 enum 用于定义数值集合
void void 没有返回值,空
null null 表示对象缺失
undefined undefined 用于初始化变量未定义的值
never never 其他类型包含 undefined和null

类型声明

// 语法
/*
*let 变量名:类型
*/
let num : number
let str : string
let boolean : boolean

类型别名

// 类型别名
type myType = 1 | 2 | 3 | 4 | 5
let num1:myType
let num2:myType
let num3:myType

类型断言

// 类型断言:unknown类型赋值时 自己知道值的类型告诉编译器
/*
* 语法:
* 1.未知变量 as 类型
* 2.<类型>未知变量
*/
let unknown1:unknown = 'hello'
let str:string
str = <string>unknown1

对象声明

/*
* 语法:
* let 变量名:{key:值类型,key:值类型...}
* let 变量名:{key:值类型,[key:key类型(string)]:值类型} 可以添加多个属性
*/
let obj1 : {
   name:string,age:number}
obj1 = {
   name:'张三',age:12}

let obj2 : {
   name:string,[propName:string]:any}
obj2 = {
   
    name:'张三',
    age:20,
    isNan:true,
}

函数声明

/*
* 语法:
* let 函数名:(形参:形参类型,形参:形参类型)=>返回值类型
*/
let fn1 : (a:number,b:number)=>number
let fn2 : (a:string,b:number)=>void
// 赋值
fn1 = function(n1:number,n2:number):number{
    return n1+n2
}
fn2 = function(n1:string,n2:number){}

数组声明

/*
* 语法:
* 1.let 数组名:Array<类型>
* 2.let 数组名:类型[]
*/
let strArray:string[]
strArray = ['asd','123']

let str2Array:Array<number>
str2Array=[1,2,3,4]

元组声明

/*
* 语法:
* let 元组名:[类型,类型,类型]
*/
let a : [string,number]
a = ['张三',123]

枚举

/*
* 语法:
* enum 集合名 {元素,元素}
*/
enum Sex1 {
   
  nan,
  nv
}
let i1: {
    name: string; sex: Sex }
i1 = {
   
  name: '张三',
  sex: Sex.nv
}
// Sex.nan 为 0 Sex.nv 为1

TS配置

创建tsconfig.json文件

// tsconfig.json
{
   
    "include":["./src/**/*"], // 指定编译的ts文件 **表示所有目录 *表示所有文件
	"exclude":["./src/hello/**/*"],// 指定不需要编译的ts文件
    "extends":"", //继承文件 合并到tsconfig.json 不经常用
    "files":["css.ts","xx.ts"], //指定编译的文件
    // compilerOptions配置项是编译器的配置
   	"compilerOptions":{
   
        "target":"es2015", //指定编译js的版本
        "module":"es2015", //指定js的模块化版本
        "lib":["DOM"], //指定项目用到的库 一般不需要修改
        "outDir":"./dist", //指定编译后js的存放位置
        "outFile":"./dist/app.js", //指定编译后的js文件合并为一个app.js
        "allowJs":true, //是否 编译js文件
        "checkJs":true, //是否 检查js代码符合语法规范
        "removeComments":true, // 是否 移除注释
        "noEmit":true, // 是否 生成编译后的文件
        "noEmitOnError":true, // 是否 生编译出现错误不生成js文件
        "alwayStrict":true, // 是否 使用严格模式
        "noImplicitAny":true, //是否 不允许出现隐式any类型
        "noImplicitThis":true, //是否 不允许出现隐式this<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值