typescript基础知识,包括typescript的安装、函数、数组、字符串等。

1、typescript的安装

1、安装node

2、安装typescript

1
2
sudo npm install typescript -g  //(mac 则需要添加sudo window则不需要)
tsc -v // 查看版本号

3、hello world

1
2
3
4
5
6
7
8
# 初始化项目
npm init -y
# typescript配置文件
tsc --init
# 安装@type/node(解决模块声明问题)
npm install @types/node --save-dev
# 创建helloworld.ts文件
touch helloworld.ts
1
2
var a:String = 'hello world'
console.log(a)

4、将helloworld.ts转换成helloworld.js

1
2
3
tsc helloworld.ts  //将ts文件转换成js文件
# 运行helloworld.js
node helloworld.js // 打印结果hello world

2、typescript函数的定义方式

1、函数声明
使用function和函数名来定义一个函数

1
2
3
4
5
6
function search(time:number) : string {
return '终于找到了丢失' + time + '天的dog--小七'
}
var time = 1
var result : string = search(time)
console.log(result) // 终于找到了丢失一天的dog--小七

2、函数表达式
将函数赋值给一个变量,变量名就是函数名。通过变量名来调用函数

1
2
3
4
var Adc = function(n1:number,n2:number) : number {
return n1++ + ++n2
}
console.log(Adc(2,3)) // 6

3、箭头函数
typescript是支持ES6的。

1
2
3
4
var Jungle = (n1:number,n2:number) : number => {
return n1 * n2
}
console.log(Jungle(12,2) // 24
将ts文件转换为js文件:tsc function.ts  =>  生成function.js  => 运行function.js,node function.js

3、typescript函数作用域

typescript也是有全局变量和局部变量的

1
2
3
4
5
6
7
8
9
10
11
12
13
function star():void{
var Jay = '周杰伦'
console.log(Jay) // 周杰伦
}
star()
console.log(star) // [Function:star]

var JayChou = '周杰伦' // 此时JayChou是全局变量
function superstar():void{
console.log('青花瓷是' + JayChou + '演唱的!') // 青花瓷是周杰伦演唱的!
}
superstar()
console.log(JayChou) // 周杰伦

4、typescript数组

ts中数据分为值类型和引用类型。

1、什么是引用类型?

引用类型是一种复合类型,引用类型中封装了很多属性,可以通过变量名和属性名来获取属性值或者调用属性的方法。

1
2
3
4
5
6
7
8
let Jude = {
name: 'Jude',
age: 28,
saySomething: function () {
console.log('行到水穷处,坐看云起时!');
}
}
console.log(Jude.name) // Jude

2、元祖– 一种特殊的数组

数组中允许含有多种类型的元素

1
2
3
let arr : [number,string]
arr = [123,'123']
// console.log(arr) // [123,'123]

当我们写成这个样子,是会报错的

1
2
let arr : [number,sting]
arr = ['123',123]
error1: Type 'string' is not assignable to type 'number'. 
error2: Type 'number' is not assignable to type 'string'.

5、typescript字符串

1、Typescript中字符串的两种类型:

基本类型字符串:由单引号或者双引号’包裹的’一串字符;

引用类型字符串:由new实例化的String类型。

2、基本类型的字符串可以直接使用引用类型的属性和方法

1
2
3
4
5
6
7
let Jude: string = 'YQ'
let JudeYQ: String = new String('JudeYQ')
console.log(Jude) // YQ
console.log(JudeYQ) // [String:'JudeYQ']
// 基本类型的字符串可以直接使用引用类型的属性和方法
console.log(Jude.length) // 2
console.log(JudeYQ.length) // 6

3、字符串常用的方法

字符串查找 indexOf()和lastIndexOf(),二者返回的都是字符串的下标。

1
2
3
4
5
6
let word:string = '西虹人瘦,燃烧我的卡路里'
let Calorie: string = '卡路里'
console.log(word.indexOf(Calorie)) // 9
let ST:string = '沈腾'
console.log(word.indexOf(ST)) // -1 没有查找到返回-1
console.log(word.lastIndexOf(Calorie)) // 9 从字符串尾部开始查找字符串的位置 和indexOf()返回的都是字符串下标

字符串的截取, substring()

1
2
3
// 字符串的截取
console.log(word.substring(9)) // 卡路里
console.log(word.substring(9,12)) // 卡路里

3、字符串的替换,replace()

1
console.log(word.replace(Calorie,'腹肌'))  // 西虹人瘦,燃烧我的腹肌