什么是TypeScript? TypeScript 是 JavaScript 的超集; 通俗点也可以理解成TypeScript是JavaScript的扩展语法 TypeScript 生于JavaScript 忠于JavaScript 就像Sass Less 一样; 虽然用Sass Less 的语法但是最终会编译成css, TypeScript 也一样,虽然用的是TypeScript进行编写,最后还是会编译成JavaScript
简单点说,ts可以理解成一种规则,规定js声明变量的时候必须加上数据类型,函数返回时,也要添加返回的类型
TypeScript的使用:
第一步安装TS
npm install typescript -g
`如果是mac`:sudo npm install typescript -g
?第二步配置环境
1.项目目录下初始化项目 npm init -y 生成package.json文件
2.创建 `tsconfig.json` tsc --init tsconfig.json是TypeScript的配置文件
3.安装@types/node npm install @types/node --dev-save 解决模块声明问题
第三步使用:
1.创建hello.ts文件,
2.在命令行用 tsc hello.ts 编译,会自动生成一个hello.js
3.在命令行用 node hello.js 运行代码
?TS中类型: TypeScript中的数据类型有: undefined ; number:数值类型; string : 字符串类型; boolean: 布尔类型; enum:枚举类型; any : 任意类型; void:空类型; Array : 数组类型; tuple : 元祖类型; 已知声明一个数组,数组里面的类型可以不同; *****项目中不推荐使用 Null :空类型。
TS面向对象
class Xiaojiejie{
var name:string
var age:number
constructor(name:string,age:number){
this.name = name
this.age = age
}
say():void{
console.log('hello')
}
}
var xiaojiejie:Xiaojiejie = new Xiaojiejie('小姐姐',18)
?
修饰符
- public 共有的
- protected 受保护 只有熟悉的人才知道
- private 私有
- readonly 只读修饰符
class Xiaojiejie{
public sex:string
protected name:string
private age:number
public constructor(sex:string,name:string,age:number){
this.sex = sex
this.name = name
this.age = age
}
public say(){
console.log('Hello')
}
protected sayLove(){
console.log('love you')
}
}
var Jiejie:Xiaojiejie = new Xiaojiejie('男','bob',18)
console.log(`${Jiejie.sex}`) //可以访问
console.log(`${Jiejie.name}`) //属性受保护,只能Xiaojiejie这个类以及子类能访问
console.log(`${Jiejie.age}`) //私有的只能在Xiaojiejie这个类中访问
class Man{
public readonly sex:string = '男'
}
var man:Man = new Man()
man.sex = '女' //只读,不可以赋值
?
?
|