others linux服务器运维 django3 监控 k8s golang 数据库 大数据 前端 devops 理论基础 java oracle 运维日志

typescript

访问量:1898 创建时间:2020-10-10

安装node,省略

npm i -g typescript

typescript就是解析TS的工具包,提供tsc命令,实现了TS->JS转化

创建文件hello.ts,内容console.log("hello ts!")

通过tsc转化ts为js用node执行

C:\Users\Administrator\Desktop\typescript>tsc hello.ts

C:\Users\Administrator\Desktop\typescript>node hello.js
hello ts!

C:\Users\Administrator\Desktop\typescript>-

安装ts-node后用ts-node直接运行ts文件

C:\Users\Administrator\Desktop\typescript>npm i -g ts-node
C:\Users\Administrator\Desktop\typescript>ts-node hello.ts
hello ts!

tsc --watch index.ts 监视模式,监视index.ts文件变动,并实时生成index.js

vscode单行注释/取消注释 ctrl+/ vscode多行注释/取消多行注释 shift+alt+a

声明: let age: number ; let关键字用于声明变量,age是变量名称,number是变量age的类型

赋值 age=18

打印 console.log(age)

声明并初始化

let age: number = 18;

:number 类型注解

变量名称只能出现:数字、字母、下划线_、美元字符$,不能以数字开头;变量名区分大小写;推荐驼峰写法--首字母小写,后面每个单词首字母大写。

let $name let first_name let cityNanme let yourAge

TypeScript中的数据类型分为两大类:1原始类型(基本数据类型),2对象类型(复杂数据类型)

1原始类型(基本数据类型),字面量,从字面上看出他是什么 number string boolean undefined null let age: number =18 let score: number = 99.5 let isStudying: boolean = true let u: undefined = undefined (声明未赋值的变量) let n: null = null (声明赋值null的变量) 2对象类型(复杂数据类型)

算术运算符 + - * / (+还可以做字符串拼接) 赋值运算符 = += -= *= /= 自增运算符 ++ (+=1) -- (-=1) 比较运算符 > < >= <= !== === 逻辑运算符 与 && 或 || 非 !true

if (判断条件){

} else {

}

三元运算符 结果 = 判断条件 ? 值1: 值2 let result: number = 1 > 2 ? 1 : 2

循环语句

for (初始化语句;判断条件;计数器更新){

} for (let i:number=1; i<=3; i++){ console.log(i) }

break 终止循环 continue 跳过本次循环继续下次循环

语法一 创建字符串数组 let names: string[] = ['鼓励', 'aa'] 语法二 let names: string[] = new Array()

数组长度 length属性获取数组长度 names.length

数组索引(下标),从0开始

names[0]

数组取值 names[1]

数组存值 names[1] = '华仔'

添加元素 ,索引不存在存值时,添加元素 names[names.length]='大王'

声明函数,参数有多个用,分隔;实参与形参按照传入顺序一一对应 function 函数名(参数){ 函数体 }

调用函数 函数名()

函数返回值,在函数体通过return返回 声明时指定返回值类型:string ;函数如果没有返回值默认返回类型是void,可省略不写

function fn():string { return 返回值 }

{ name: 'jj', height: 175, sing: function(){ console.log('') } }

创建空对象 let person = {}

let person = { 键1=值1, key2=value2, 方法名: function (){ } }

函数用作方法时可省略function后面的函数名称,也叫做匿名函数,通过方法名调用函数。

let person: { name: string; age: number; } person = { name: '老刘', age: 18 }

对象方法的类型注解

let p1:{ sayHi:() => void }

p1 = { sayHi: function(){ console.log('nice!') } }

接口:为对象的类型注解命名,并约束对象的接口

创建接口interface关键字(约定接口以I开头)

interface IUser { name: string age: number }

使用接口 let p1: IUser = { name: 'jack', age:18 }

属性访问通过 对象名.属性名
属性设置: 对象名.属性名= 属性值 调用对象方法 对象名.方法名()

对象来源 1自己创建 2 其他人创建(编程语言自带或者第三方包携带)

内置对象: TS自带的基础对象(例如数学、日期)

length push 将一个或者多个元素添加到数组末尾,返回数组的新长度 forEach 遍历数组 some

数组名.forEach(function(item,index) { console.log('索引为',index,'元素为',item) })

注意: forEach方法的参数是一个函数,这种函数也称为回调函数(回调函数也是匿名函数)。 forEach方法的执行过程:遍历整个数组,为每一个元素调用一次回调函数

some方法,达到条件时停止循环(比forEach性能好一点,不用全部遍历一遍数组)(回调函数返回true,some停止循环)

let has: boolean = nums.some(function (num){ if (num>10){ return true } return false })

类型推论:类型注解可以省略 发生类型推论场景:1 声明变量并初始化 2决定函数返回值 //根据=右边的值推论age的类型 let age = 18 function sum(n:number,m:number) { return n+m }

登陆评论: 使用GITHUB登陆