typescript学习与总结

60 阅读2分钟

“开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 三 天,点击查看活动详情

vue父子组件通信

prop emit 前面的是传递给子组件的,后面是父组件对应的函数或变量。
this.$emit("sonAnswer", "我知道了");子组件向父组件传递sonAnswer,
父组件进行接收,@sonAnswer="sonAn",
组件间通信使用父组件进行传递,或者组件化子组件,

typescript与js区别

data的定义 export default在ts中会报错,
声明变量不需要专门放到data函数中,
可以直接变量 = ref() ,方法也不需要放method,当然vue3中方法函数。
进行数组访问时发现在ts中调用array对应的方法必须在数组名后加.value,相当于必须拿到对应数组值才可以对其进行处理。
而在vue中可以直接 this.obj.arr.push('baz') 在arr后直接push,ts中需要this.obj.arr.value.push('baz') 同样调用includes函数也需要加value,arr.value.includes(index)。

变量定义

与kotlin非常相似,都是可以在变量后面跟类型, 函数返回值类型也可以设定。
支持元组类型设定,一个变量可以是数组中规定的任意类型,有点类似java中泛型的感觉,
剩余参数...arr,这里的参数可以有任意多个,在kotlin中也有这样的语法糖。
判断是否为空,在变量后就可以。

const greet : string = "Hello World!"

接口化变量

在ts中会将props等组件间通信的变量编写interface.d.ts接口文件,类似于java中接口与实现类,

高度抽象化,分离

在vue中将ts的可以抽离对的都单另写到一个ts文件中,以及样式也单另抽离放入scss中,
在vue中只需要调用相应的ts,sass即可,引用相应的变量

使用体验

感觉Ts开发实时性比较强,静态编译,开发过程中语法错误能及时发出红色提示,代码也更加规范化。 ts中也有类、模块、接口