学习vue3之路day2

简介: 学习vue3之路day2

TypeScript常用语法

对一个java后端来说js常用的类型方法大都相似。

基础类型

布尔值 boolean

let show: boolean = false;

数字 number

和js一样ts中所有数字都是浮点数。

let val:number = 10;

字符串 string

let name:string = "zhangsan"

Undefined 、null

默认情况下 nullundefined 是所有类型的子类型。 就是说你可以把 nullundefined 赋值给 number 类型的变量。

数组 []、Array

let data:number[] = [1,2,3];
let arr:Array<number> = [2,3,4];

*元组Tuple

元组类型定义一个固定大小的数组,里面的元素类型可以不同。 比如,你可以定义一对值分别为 stringnumber 类型的元组。

let tp: [string,number] = ["name",10];

枚举 enum

enum StateEnum{
    Open,
    Close
}

let state:StateEnum = StateEnum.Open;

// 通过数值获取名称
let name = StateEnum[1];

* any

不知道的类型,不希望类型检查器对这些值进行检查时 可以用any。

一用any回到js,不要滥用。

void

通常用来修饰函数无返回值

function fn():void{
}

object

表示除基本类型boolean,number,string 之外的类型。

let obj: object = {}

* 联合类型

表示取值可以为多种类型中的一种。 在函数定义,类字段声明中常用。

function say(x: number | string) : string {
  return x.toString()
}

* 类型断言

有点像java的强制类型转换。

方式一: <类型>值
方式二: 值 as 类型  tsx中只能用这种方式

function getLength(x: number | string) {
  if ((<string>x).length) {
    return (x as string).length
  } else {
    return x.toString().length
  }
}

类型推断

类型推断: TS会在未指定类型的时候推测出一个类型
有下面2种情况: 1. 定义变量时赋值了, 推断为对应的类型. 2. 定义变量时没有赋值, 推断为any类型

let val = 123  // number
let name = 'abc' //string
let obj; //any

接口 Interface

接口的作用是定义一个结构,定义对象的属性、行为。

可选属性用?表示

只读属性 readonly

// 定义人的接口
interface IPerson {
  id: number
  name: string
  age: number
  sex?: string
}

let p1: IPerson = {
  id: 1,
  name: '张三',
  age: 20,
  sex: '男'
}

定义函数

interface SearchFunc {
  (source: string, subString: string): boolean
}

类实现接口 implements

跟java 一样 一个类可以实现多个接口,接口可以继承接口extends

class User implements IPerson{
    id: number;
    name: string;
    age: number;
    sex?: string;
    
    constructor(id:number,name:string,age:number){
        this.id = id;
        this.name = name;
        this.age = age;
    }
}
相关文章
|
24天前
|
缓存 JavaScript UED
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
126 64
|
24天前
|
JavaScript 前端开发 API
Vue 3 中 v-model 与 Vue 2 中 v-model 的区别是什么?
总的来说,Vue 3 中的 `v-model` 在灵活性、与组合式 API 的结合、对自定义组件的支持等方面都有了明显的提升和改进,使其更适应现代前端开发的需求和趋势。但需要注意的是,在迁移过程中可能需要对一些代码进行调整和适配。
103 60
|
1月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
36 1
vue学习第一章
|
1月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
26 1
vue学习第三章
|
1月前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
35 1
vue学习第四章
|
1月前
|
JavaScript 前端开发 算法
vue学习第7章(循环)
欢迎来到瑞雨溪的博客,一名热爱JavaScript和Vue的大一学生。本文介绍了Vue中的v-for指令,包括遍历数组和对象、使用key以及数组的响应式方法等内容,并附有综合练习实例。关注我,将持续更新更多优质文章!🎉🎉🎉
24 1
vue学习第7章(循环)
|
24天前
|
前端开发 JavaScript 测试技术
Vue3中v-model在处理自定义组件双向数据绑定时,如何避免循环引用?
Web 组件化是一种有效的开发方法,可以提高项目的质量、效率和可维护性。在实际项目中,要结合项目的具体情况,合理应用 Web 组件化的理念和技术,实现项目的成功实施和交付。通过不断地探索和实践,将 Web 组件化的优势充分发挥出来,为前端开发领域的发展做出贡献。
29 8
|
23天前
|
存储 JavaScript 数据管理
除了provide/inject,Vue3中还有哪些方式可以避免v-model的循环引用?
需要注意的是,在实际开发中,应根据具体的项目需求和组件结构来选择合适的方式来避免`v-model`的循环引用。同时,要综合考虑代码的可读性、可维护性和性能等因素,以确保系统的稳定和高效运行。
23 1
|
23天前
|
JavaScript
Vue3中使用provide/inject来避免v-model的循环引用
`provide`和`inject`是 Vue 3 中非常有用的特性,在处理一些复杂的组件间通信问题时,可以提供一种灵活的解决方案。通过合理使用它们,可以帮助我们更好地避免`v-model`的循环引用问题,提高代码的质量和可维护性。
33 1
|
24天前
|
JavaScript
在 Vue 3 中,如何使用 v-model 来处理自定义组件的双向数据绑定?
需要注意的是,在实际开发中,根据具体的业务需求和组件设计,可能需要对上述步骤进行适当的调整和优化,以确保双向数据绑定的正确性和稳定性。同时,深入理解 Vue 3 的响应式机制和组件通信原理,将有助于更好地运用 `v-model` 实现自定义组件的双向数据绑定。
下一篇
DataWorks