TypeScript学习

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
喜欢就支持一下吧
点赞0 分享