0, 简介,优点
TypeScript是javaScript的类型的超级,它可以编译成纯JS,TypeScript可以在任何浏览器,任何计算机和任何操
作系统上运行
1,JS有的基础类型,它都有,JS 没有的基础类型,它也有
TS 新增加了元组-tuple(元素类型不相同的数组)
枚举-enum(JS数据类型的补充)
Any(可为任意类型,与 Object 有一定区别)
Void(没有任何类型,通常在函数没有返回值时用)
Never(不存在的值的类型)
2,增强代码的可读性,数据交互更安全
3,增强代码的可维护性,提高生产力
4,模块管理更佳,类型检查更严格 让你的开发严谨而自由
5,TypeScript始于JavaScript,终于JavaScript。遵循JavaScript的语法和语义,
所以对于我们前端从业者来说,
学习前来得心应手,并没有太大的难度
6,TypeScript提供了类、模块和接口,更易于构建组件和维护。
复制代码
1, 安装和查看
npm install -g typescript
tsc --version
复制代码
2, 语法检查
在VS CODE 的File / Preference / Settings 下 搜索javascript.validate.enable和
typescript.validate.enable并且取消打勾,禁用VSCODE的js和ts的语法检查
复制代码
3,基础数据类型
Number: 数值类型
string: 字符串类型
Boolean: 布尔类型
enum: 枚举类型
any: 任意类型, 一个牛X的类型
void: 空类型
Array: 数组类型
Tuple: 元组类型
Null: 空类型
Undefined:
复制代码
4, 函数
1,声明(定义)函数必须加 function 关键字;
2,函数名与变量名一样,命名规则按照标识符规则;
3,函数参数可有可无,多个参数之间用逗号隔开;
4,每个参数参数由名字与类型组成,之间用分号隔开;
5,函数的返回值可有可无,没有时,返回类型为 void,大括号中是函数体。
复制代码
声明函数参数的过程中,有三种情况:
1, 可选参数:
2,默认参数
3,形参多个
function paramsDefined(name:string, age:number, sex?:boolean) :string {
return name + age + sex;
}
function paramsDefault(name:string = 'zlm', age:number = 17) :string {
return name + age;
}
function selectParams(...name:string[]):string {
let only:string = '形参:';
for(let i=0; i< name.length; i++) {
only = only +name[i]
if(i<name.length) {
only = only + ','
}
}
only = only + '等等'
return only;
}
let defined:string = paramsDefined('zzz', 22)
let dafault:string = paramsDefault()
let select:string = selectParams(...['zlm', 'Jamie', 'Jone'])
复制代码
函数定义方法
1, 函数声明法
2,函数表达式法
3,箭头函数
// 函数声明法
function str(name:string, age:number): void {
console.log(name + age)
}
// 函数表达式
var add = function(num: number, str: string):any {
return num + str;
}
// 箭头函数
var sum = (n:number, m:number):number => {
return n + m;
}
复制代码
问题一:
函数声明法和函数表达式法有什么区别?
5, 数组
1,数组声明的方法
字面量赋值法
let arry1: Array<number> = [1,23,4]
let arry2: number[] = [12,3,4]
let arry3: Array<boolean> = [false,true]
复制代码
结构函数赋值法
let arry4: Array<number> = new Array(1,2,3,4)
let arry5: Array<boolean> = new Array(false, true, false)
复制代码
元组:一个已知元素数量和类型的数组,各元素的类型不必都相同
let arry6: [string, number, boolean] = ['zlm', 10, false]
复制代码
字符串的两种类型: 基本类型,引入类型
let str1:string = 'str1'
let str2:String = new String('str2')
复制代码
说明:基本类型和引入类型声明的字符串没有什么不同, 基本类型的字符串可以直接使用引入类型的属性和方法
2,字符串常用的方法
let something:string = 'abcdefghijkgagagagag'
let source:string = 'gh'
// 从头部查找字符串
console.log(something.indexOf(source))
// 从字符串尾部开始查找字符串 , 如果字符串查找不到,则都返回-1
console.log(something.lastIndexOf(source))
// 从指定的位置开始截取,截取到指定的位置结束
let subStr:string = something.substring(6,8)
console.log(subStr)
// 字符串替换
let strRep:string = 'abcdeMMfghijk'
let newStr:string = 'MM'
console.log(strRep.replace(newStr, 'VV'))
复制代码
3,创建日期对象Data
// 构造函数中不传递任何参数,Date()会根据当前日期和时间创建一个Date对象
var D:Date = new Date()
console.log(D)
// 如果传递一个整数,这个整数代表的距离1970-01-01 00:00:00的毫秒数
var D1:Date = new Date(200)
console.log(D1)
// 如果传递一个表示日期的字符串,就会生成对应的日期
var D2:Date = new Date('2021-05-26 12:30:00')
console.log(D2)
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END