1.ts是什么好处有什么?
1.ts是js的加强版ts对js的数据类型进行了限制
所以ts在编译阶段就可以发现错误,js只有在运行时才可以发现
2.ts是强类型语言可读性更好
3.ts是面向对象编程包含类和接口的概念
2.重要 ts的数据类型对比
基本数据类型
js
let a=1
let a=‘2’
let a=true
let a=undefined
let a=null
ts就需要表明每个变量的类型
let a:number=1
let a:string=‘2’
let a:boolean=true
let a:undefined=undefined
let a:null=null
除了以上这些ts还增加了一些别的any,void,never,也可以是单个数子1之类的,还可以用?表示可选属性
同时还可使变量变成联合类型如let a:number|string=1
引用数据类型
js
let arr=【1,2,3】
ts
let arr:number=【1,2,3】
这个数组就只可以装数子类型
同时在数组这块还引入了元组的概念就是数组中每一项类型是什么固定的类型如
let arr:【number,Boolean】=【】这个数组必须只有两个内容而且第一个必须为数子第二个必须为字符
对象、
js
let obj={
name:'zhangsan'
age:18
}
ts
接口来定义
interface objtype{
name:string
age:number
}
type objtype{
name:string
age:number
}
interface表示数据结构,type表示类型
let obj:objtype{
name:'zhangsan'
age:18
}
type
还有就是类型断言
当一个变量有很多类型
let a:number|string=1
如上这种就可以clog(a as number)断言为一种类型
还有就是枚举enum 用来只有几个选项那种
最后要说的是泛型
泛型是指在定义函数、接口或类的时候,不预先指定具体的类型,使用时再去指定类型的一种特性
n可以把泛型理解为代表类型的参数
interface Test<T = any> { userId: T; } type TestA = Test<string>; type TestB = Test<number>; const a: TestA = { userId: '111', }; const b: TestB = { userId: 2222, };
3.type和interface的区别
interface定义的是一种数据结构,type定义的是一种数据类型(也可以说是别名)
interface支持多次定义
interface可以声明后直接导出,type必须先定义后导出
type数据别名除了可以定义对象之外,还可以定义一些其他类型比如说元组,单个数字,联合类型
vue3
vue3采用<script setup>语法糖定义,所有的函数计算方法都需要import导入进去,响应式变量,分为relative和ref
生命周期created和beforecreated被合并为setup
组件间传值也可以使用props和$emit
同时还新增了provide/inject
父组件provide多个子组件inject
这俩不错不整理了
2022 最新 Vue 3.0 面试题_vue3面试题2022_libin9iOak的博客-CSDN博客
vue3面试题:2022 最新前端 Vue 3.0 面试题及答案(持续更新中……)_vue面试题_南北极之间的博客-CSDN博客