极品ts配置

ts中配置文件tsconfig

{
    // tsconfig.json是js编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
    // "include": []用来指定那些ts文件需要被编译
    //    路径:**表示任意目录,
            // *表示任意文件
    // "exclude": [], 不需要被编译的文件目录
    // 默认值:["node_modules","bower_component","jspm_packages"]
            "include": [
                "./one/**/*"
            ],
            "exclude": [
                "./one/two/**/*"
            ],
            "compilerOptions": {
                // target 用来指定ts被编译为的es的版本
                "target": "ES2015",
                // module 指定要使用模块化的规范
                "module": "ES2015",
                // lid用来指定项目中要使用的库
                // "lib": ["dom"]
                // outDir 用来指定编译后文件所在的目录
                "outDir": "./dist",
                // 设置outFile后,所有的全局作用域中的代码会合并到同一个文件中
                // "outFile": "./dist/app.js"

                //是否对js文件进行编译,默认为false
                "allowJs": false,
                // 是否检查js代码是否符合语法规范
                "checkJs": false,
                //是否移出注释
                "removeComments": false,
                // 不生成编译后的文件
                "noEmit": false,
                // 当有错误的时候不生成编译后的文件
                "noEmitOnError": false,

                // 用来设置编译后的文件是否使用严格模式,
                "alwaysStrict": false,

                //不允许隐私any类型
                "noImplicitAny": false,

                //不允许不明确类型的this
                "noImplicitThis": false,

                //严格检查空值
                "strictNullChecks": false,

                //所有严格检查的总开关
                "strict": false
            }
}

ts声明变量类型

// 声明一个变量a,并指定他的类型
let a : number;
 a = 1;
//  a = 'daad' 指定的为数字类型,提示不可以为字符串类型,但依然可以解析ts文件为js文件
//  console.log(a)

let b : string;
b = '猴子世界';
// b = 123;
//指定类型为字符串,那他的赋值类型也就必须是字符串

//声明变量类型直接进行赋值
// let c:boolean = false


// 如果声明变量与赋值是同时进行的,ts会自动检验类型,为boolean
let c = false
// c = 1323


// js中的函数是不用考虑形参有多少

// !js这样写可以
// function sum(sum1,sum2){
//     return sum1 + sum2
// }
// console.log(sum(1,2,3))

// ts 中可以规定他的实参类型,以及返回类型
function sum(sum1:number,sum2:number):number{
    return sum1+ sum2
}
console.log(sum(2,2))

// 可以直接用字面量进行变量命名
let a :10;
// a = 12
// 定义之后,变量只能是定义的10


// |或的意思,变量命名
let b :10|12;
b = 10
b = 12
// 所以赋值变量既可以是10也可以是12

// c的类型是字符串或buer或数字
let c :string|boolean|number
c = '猴子战场';
c = true;
c = 1;

// 表示同时 
let s : {name:string} & {age:number}
s = {name:'猴子',age:10}


// any类型,表示任意类型,类型为any表示关闭ts类型检测
// 不介意使用
let d : any;
d = 1;
d = '猴子';
d = false;

// 不写类型,ts编辑器会自动判断类型为any
// 更不介意使用
let e;
e = 1;
e = '猴子';
e = false;

// unknown 表示任意类型,和any很像
let f : unknown;
f = 1;
f = '猴子爹'
f = true;


let g : string;
g = d
// 因为d是any类型,他可以赋值给任意变量

// any与unknown的区别unknown是一个安全的any,不能直接赋值给其他变量

// unknown 判断
if(typeof f === "string"){
    g = f;
}

// 类型断言
g = f as string;

//<>
g = <string> f


// void 表示空 表示没有返回值的函数
function fn() :void{

}

//never,表示永远不会有返回结果空也不行
function fn1() :never{
    throw new Error('报错')
}

// object表示一个js对象
let h : object;
h = {};
h = function(){}
// {} 用来指定对象中包含哪些对象
// 语法 : {属性名:属性值,属性名:属性值}
// 在属性名之后加上?号,表示可有可不有
let i : {age?:number,name:string}
i={
    name:'嘿嘿',
}

// [属性名:属性类型]:any 表示任意类型的属性
let j : {name:string,[xx:string]:any}
j = {name:'猴子',b:12,c:'嘿嘿'}

// 设置函数解构的类型声明
// 语法:(形参:类型,形参:类型...)=>返回值
let k : (a:number,b:number)=>number
// let k : function (sum1:string,sum2:number):number {
//   return 10    
// }

ts中数组

// ts中定义数组 number[]什么类型的数组
let a :number[]
a=[1,]

let b : string[]
b = ['1',]

// 定义数组
let c : Array<number>

// ts中的元组 元组就是有固定长度的数组
let d : [string,string]
d = ['猴子','香蕉']

// ts中的枚举enum
enum Gender{
    Male = 0,
    Female = 1

}
let e : {name:string,gender:Gender}
e = {
    name:'猴子',
    gender:Gender.Male
}

// ts中起别名
type monkey = 1|2|3;
let f:monkey;
f = 1
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值