reactive和TypeScript标注数据类型-ts使用方法

一、vite项目中<script setup lang="ts"> : lang="ts" 是表明支持ts校验(ts 全称typescript,是es6语法,是javascript的超集强类型编程语言,类似java,定义变量类型后,赋值类型不一致,会提示,但是可以运行

国内网址:TypeScript中文网 · TypeScript------JavaScript的超集

如果声明类型和设置值类型不一致会有提示,如图

不能将类型"string"分配给类型"number"。ts(2322),

二、使用接口声明数据类型 interface,ps:interface关键字要<script setup lang="ts"> 加上lang="ts"不然会报错

例子如下:

html 复制代码
//http://tslang.cn/docs/handbook/interfaces.html
  interface User {//接口名称首字母大写
    id:number;
    name:string;
  }
  const user2:User=reactive({
    id:true,
    name:'小龙'
  })

完整例子如下:

html 复制代码
<script setup lang="ts"> //lang="ts" 是表明支持ts校验
  /**
   * vue3+typescript语法
   * 上面要加 lang="ts" 下面写的代码都是基于ts强类型
   */
  import {reactive} from 'vue';
  //默认会推导得到对应的数据类型:{id:number,name:string}
  const state = reactive({
    id: 123,
    name: '李四'
  });
  //不能将类型"string"分配给类型"number"。ts(2322),
  //state.id='345';

  //使用接口声明数据类型 interface
  //http://tslang.cn/docs/handbook/interfaces.html
  interface User {//接口名称首字母大写
    id:number;
    name:string;
  }
  const user2:User=reactive({
    id:234,
    name:'小龙'
  })
  //user2.id=true
  user2.id=4556
</script>

<template>
  <div>
    {{ state.id }}
  </div>
</template>

<style scoped>

</style>

小知识:

es3 的时候,声明变量例如

var i=1; 修改变量值i='1232' ,可以随时变

let b=true;修改变量值 b='sss',也可随时变

es6

声明常量 const i=1,修改变量值 i='sss',值不会改变

相关推荐
江城开朗的豌豆4 分钟前
小程序登录不迷路:一篇文章搞定用户身份验证
前端·javascript·微信小程序
aesthetician8 分钟前
React 19.2.0: 新特性与优化深度解析
前端·javascript·react.js
Django强哥12 分钟前
JSON Schema Draft-07 详细解析
javascript·算法·代码规范
FIN666823 分钟前
射频技术领域的领航者,昂瑞微IPO即将上会审议
前端·人工智能·前端框架·信息与通信
U.2 SSD33 分钟前
ECharts漏斗图示例
前端·javascript·echarts
江城开朗的豌豆33 分钟前
我的小程序登录优化记:从短信验证到“一键获取”手机号
前端·javascript·微信小程序
excel36 分钟前
Vue Mixin 全解析:概念、使用与源码
前端·javascript·vue.js
IT_陈寒43 分钟前
Java性能优化:这5个Spring Boot隐藏技巧让你的应用提速40%
前端·人工智能·后端
勇往直前plus1 小时前
CentOS 7 环境下 RabbitMQ 的部署与 Web 管理界面基本使用指南
前端·docker·centos·rabbitmq
Never_Satisfied1 小时前
在JavaScript / HTML中,Chrome报错此服务器无法证实它就是xxxxx - 它的安全证书没有指定主题备用名称
javascript·chrome·html