vue3+ts

2023-11-04

安装ts:

全局安装typescript:    npm install -g typescript

查看typescript版本 :   tsc -V

1.新建一个ts文件

里面写上:

(()=>{
    function sayHi(str){
        return '你好啊'+str
    }
    let text ='小甜甜'
    console.log(sayHi(text))
})()

点击ts文件所在目录,右击在终端打开---在终端输入tsc ./01_第一次ts.ts文件,点击回车,会生成一个js文件,在html页面中引入js文件,就可以运行了

2.vscode中自动编译:

新建一个目录,在目录上右击运行终端输入tsc --init会生成一个tsconfig.json文件

将tsconfig.json文件中的修改成下面这样

                                        “outDir”:'./js'

                                        "strict":false

启动监视任务:点击tsconfig.json点击终端中的运行任务-显示所有任务,找到tsc监视

数组和元租类型

数组类型:

//数组定义方法一:语法为:let变量名:数据类型【】=【值1,值2,值3】

let arr1:number[]=[1,2,3,4,5]

//数组定义方法二:这是反省写法 , 语法为:let变量名:Array<数据类型>=【值1,值2,值3】

let arr2:Array<number>=[1,2,3,4,5]

注意:数组定义后。里面的数据类型必须是和定义数组时类型一致,否则会有错误提示信息,也不会编译成功。

元组类型:可以支持各种数据   在定义数组的时候,类型和数据的个数一开始就已经限定了

let arr3:[string,number,boolean]=['小甜甜',12,true]

注意问题:元组类型在使用的时候,数据类型的位置和数据的个数应该和在定义元组的时候的数据类型及位置应该是一致的

枚举:  枚举里面烦人每个数据值都可以叫元素,每个元素都有自己得编号,编号是从0开始,一次递增加一

枚举中的元素可以是

enum Color={

red,

green,

blue

}

//定义一个color的枚举类型的变量来接收枚举的值

let color:Color =Color.red

console.log(Color.red,Color.green,Color.blue)//打印出来是从0开始的,0,1,2

any: 

let str:any=100;//打印出来就是100

str='年少不知富婆好,误把少女当作宝',,//打印出来为:年少不知富婆好,误把少女当作宝

当一个数组中要存储多个数据,个数不确定,类型不确定,此时也可以使用any类型来定义类型

let arr:any[]=[100,'年少不知软饭香,错把青春到插秧',true]//打印时会把数组里面内容打印出来

void:  在函数声明的时候,在小括号后加用:void,代表该函数没有返回值

function showMsg():void{

console.log('只要富婆把握住,连夜搬进大别墅')

}

console.log(showMsg())

object类型:

//定义一个函数,参数是object类型,返回值也是object类型

function getObject(obj:object):object{

console.log(obj)

return {

name:'张三',

age:27

}

}

console.log(getObject(name:''里斯'',age:13))

联合类型: 表示取值可以为多种类型中的一种

//定义一个函数得到一个数字或字符串值的字符串形式值

function getString(str:number|string):string{

return str.tostring

}

类型断言: 告诉编译器,我知道我自己是什么类型,也知道自己在干什么

类型断言语法方式1:<类型> 变量名

类型断言语法方式2:值 as 类型    -return(str as string)

定义一个函数得到一个数字或者字符串的长度

function getString(str:number|string):number{

//如果有长度

if((<string>str).length){

return str.length

}else{

return str.toString().length

}

}

类型推断:

let txt=100;打印出来100,推测出来给一个number类型

接口:是对象的状态(属性)和行为(方法)的抽象(描述)

接口:是一种类型,是一种规范,是一种规则,是一个能力,是一种约束

//定义一个接口,该接口作为person对象的类型使用,限定或者是约束该对象中的属性数据

interface IPerson{

readonly id:number,//这个地方放readonly只读不能进行修改

name:string,

sex:string//加这个问号,代表下面对象里面这个性别可有可无

}

//定义一个对象,该对象的类型就是我定义的接口

const person:IPerson={

id:1,

name:'小甜甜',

//这个性别可以没有

sex:'女'

}

类的类型:

//定义一个接口

interface ISwim{

swim()

}

//定义一个类,这个类的类型就是ISwim

Class Person implements ISwim{//如果放多个值:Class Person implements   IFly,ISwim

swim(){

console.log('我会游泳')

}

}

//实例化对象

const person = new Person();

person.swim()//这是调用类里面的swim

//总结:类可以通过接口的方式,来定义当前这个类的类型

//类可以实现一个接口,类也可以实现多个接口,要注意,接口中的内容都要真正的实现

//接口可以继承多个接口

1.定义一个接口,继承其他多个接口

inteface IMyFlyAndSwim extends IFly,ISwim{}

2.定义一个类,直接实现IMyFlyAndSwim这个接口

Class Person implements IMyFlyAndSwim{

fly(){

console.log('我会飞了')

}

swim(){

console.log('我会游泳了')

}

}

const person = new person()

person.fly()

person.swim()

总结:接口和接口之间叫继承(使用的是extends的关键字),类和接口之间叫实现(使用的是implaments)

ts中类的定义和使用:

Class Person{

name:string

age:number

gender:string

constructor(name:string='小甜甜',age:number=16,gender:string='女'){

//更新对象中的属性数据

this.name=name

this.age=age

this.gender=gender

}

}

//定义实例方法

sayHi(str:string){

console.log(`大家好,我是${this.name},今年已经${this.age}了,是个${gender}孩子`,str)

}

//ts中使用类,实例化对象,可以直接进行初始化操作

const person =new Person('张三',18,‘男’)

person.sayHi('你叫什么名字啊')

vue3+ts里面用let 和var 定义变量会报错,可以在.eslintrc.js中添加:

"rules":{'prefer-const':'off'}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3+ts 的相关文章

随机推荐

  • 误操作清空了回收站文件如何找到文件

    我们在删除文件的时候 文件都是先跑到回收站里的 这样的防止我们出现误删的情况 但往往也会出现我们要恢复删除的文件却误操作清空了回收站的情况 那么误操作清空了回收站如何找到呢 下面小编给大家分享误操作清空了回收站文件找到的方法 误操作清空了回
  • 计算样本方差时为什么除以(n-1)

    方差概念 除以n其实没错 但只适用于母体方差 总体均数已知 同样的 样本标准差也只适用于样本方差 让我们看一下这两个公式 统计学重要的研究内容之一是 用样本推测总体 具体而言 就是用样本均数和样本标准差来估计总体均数和总体标准差 而这里的估
  • 如何利用maven配置mybatis-generator自动生成mapper.xml

    首先配置pom xml文件 新增插件
  • 散点图绘制

    文章目录 1 二维数组的索引 2 npz文件 3 散点图的绘制 在Python数据分析与应用中有一个散点图的例子 做这个例子之前首先要弄清楚两个点 对二维数组进行取数操作 python中的npz文件 1 二维数组的索引 二维数组中的每一个元
  • JS进行sql脚本整理

    JS进行sql脚本整理 在项目增量开发时 会出现开发环境因为集成了新功能或修改了旧功能 导致数据库中数据表字段修改或数据已经更新的情况 这时如果其他环境想要使用新功能 除了更新服务程序外 还需要将开发环境新增的数据整理成sql进行数据同步
  • C++中rand()函数的用法

    C 中rand 函数的用法 1 rand 不需要参数 它会返回一个从0到最大随机数的任意整数 最大随机数的大小通常是固定的一个大整数 2 如果你要产生0 99这100个整数中的一个随机整数 可以表达为 int num rand 100 这样
  • 十进制、二进制、八进制、十六进制之间进行转换的方法_二进制到三十六进制的转换方式...

    进制转换 进制即进位计数制 是人为定义的带进位的计数方法 N进制表示每一位置上的数运算时逢N进一位 如二进制是逢二进一 十进制是逢十进一 十六进制是逢十六进一 以此类推 我们日常生活中使用的进制就是十进制 其他常见进制有二进制 八进制 十六
  • Scala下载及IDEA安装Scala插件(保姆级教程超详细)

    一 Scala的下载与安装 Scala语言可以在Windows Linux Mac OS等系统上编译运行 由于Scala是运行在JVM平台上的 所以安装Scala之前必须配置好JDK环境 JDK版本要求不低于1 5 本博客为基于Window
  • 欧元区PMI数据不佳 关注德拉基讲话

    欧元区PMI数据不佳 关注德拉基讲话 昨日欧元区公布的一系列经济数据表现不佳 由此推动美元指数反弹 给金价带来压力 不过晚间美国公布的就业数 据不佳 再度给金价带来支撑 数据显示 欧元区11月综合PMI初值51 4 创16个月新低 预期52
  • IMX6学习记录(14)-屏幕使用,显示图片、文字

    上面是我的微信和QQ群 欢迎新朋友的加入 1 内核配置 启动板子 能看到一个企鹅在界面上 2 修改文件系统 etc inittab sysinit etc init d rcS console askfirst bin sh tty1 as
  • 华为nova5pro计算机,华为nova5Pro用usb数据线连接电脑的时候连接不上

    华为nova5Pro手机在用这个usb数据线连接电脑的时候连接不上 连接不成功 在电脑下载了华为手机助手 手机上也去华为市场下载了手机助手 按照提示操作依然连不上 看不到华为手机的盘符 打开设备管理器 sea al10那一项有个黄色的感叹号
  • Java Web 集成RTX问题解决

    今天 应项目需求 需要在项目中集成腾讯的RTX 前期根据RTX官方API文档进行测试时 没有任何问题 但是在将代码集成到项目中时 报了一些错误 Init z 现将我的解决过程写下来 希望给遇到同样问题的人提供一些借鉴 1 Init z 类初
  • 解密5G新基建浪潮下的“智慧杆塔”缘何火热

    文章版权所有 未经授权请勿转载或使用 关于智慧杆塔并不算一个新概念或新领域 从早期的智慧路灯 到加载少量城市传感器或电子广告牌的智慧灯杆等 都属于智慧杆塔的早期概念或雏形 但近来笔者通过走访灯杆生产厂商发现 行业终于盼来了爆发的春天 智慧杆
  • odoo 图片预览

    odoo 图片预览 业务需要实现图片上传后进行预览 折腾许久没有成功 最后试着添加图片字段算是基本成功 在 model 中添加字段 odoo 中没有直接的图片 image 字段 但是有一个 binary 二进制字段 image fields
  • 【论文分享】用于多元时间序列的预训练增强的时空图神经网络

    KDD 今天分享的是KDD 2022的一篇论文 Pre training Enhanced Spatial temporal Graph Neural Network for Multivariate Time Series Forecas
  • RFID银行钱箱资产管理系统

    概述 随着经济的发展 金融领域的业务越来越广泛 金融物流安全的问题 显得越来越重要 银行金库每日出入库及配送的物流量越来越大 特别是现金款箱 如果不能保证及时准确的入库 库存控制和出库 将会给银行带来巨大风险 严重加大了银行管理难度 提高了
  • Java之封装、继承和多态(超详细)

    一 封装 封装就是隐藏对象内部的复杂性 只对外公开简单的接口 封装的思想是你只需要知道如何调用接口就行了 不需要去了解内部实现 1 封装的体现 属性的封装 方法的封装 构造函数的封装 单例模式 将类的某些信息隐藏在类的内部 不让外部程序直接
  • Jenkins通过Nexus artifact uploader 上传制品失败排查

    使用Jenkins 插件Nexus artifact uploader 上传 jar zip gzip tar等制品 Jenkins 使用自由风格配置构建时 配置如下 Credentials 为上传Nexus服务器的用户认证信息 需要在Je
  • 计算机网络系统的雷电防护,有关计算机网络系统雷电防护的探讨

    摘要 本文探索与分析了计算机网络系统雷电灾害发生的原因和途径 为雷电灾 害的防护工作提供重要的依据与保障 为减少雷电灾害对计算机网络系统的危害做好理论储备和实施指导 随着现代科学技术的不断发展 计算机网络广泛且迅速延 伸至通信 交通 能源
  • vue3+ts

    安装ts 全局安装typescript npm install g typescript 查看typescript版本 tsc V 1 新建一个ts文件 里面写上 gt function sayHi str return 你好啊 str l