当前位置: 首页 > wzjs >正文

手机官方网站工地建筑劳务公司招工平台

手机官方网站,工地建筑劳务公司招工平台,无锡网站优化公司,网站建设发展好不好unwrapRef和unref在Vue3中有着不同的用途和功能 unwrapRef ‌UnwrapRef‌主要用于类型系统,用于解套Ref对象。在TypeScript中,UnwrapRef通过类型推断来处理嵌套的Ref对象,确保类型安全。例如,如果有一个Ref对象包裹着另一个Re…

unwrapRef和unref在Vue3中有着不同的用途和功能
 

unwrapRef

UnwrapRef‌主要用于类型系统,用于解套Ref对象。在TypeScript中,UnwrapRef通过类型推断来处理嵌套的Ref对象,确保类型安全。例如,如果有一个Ref对象包裹着另一个Ref对象,UnwrapRef可以帮助解析出最底层的原始类型。UnwrapRef的定义如下:

type UnwrapRef<T> = T extends Ref<infer V> ? UnwrapRefSimple<V> : UnwrapRefSimple<T>
type UnwrapRefSimple<T> = T extends |Function |CollectionTypes |BaseTypes ? T : never

这表明UnwrapRef会处理函数、集合类型、基本类型等,但对于数组和对象,如果内部包含Ref对象,则会进行深层解套‌。

keyof

type Obj = {foo: number;bar: string;
};type Keys = keyof Obj; // "foo" | "bar"const obj: Obj = {foo: 0,bar: '',
};obj.bar = 'h1';
obj.foo = 1;console.log(obj);// 定义 getProperty 函数
function getProperty<T extends object, K extends keyof T>(obj: T, key: K): T[K] {return obj[key];
}// 方法一:声明变量
const key: Keys = 'foo';
console.log(getProperty(obj, key));// 方法二:定义函数
function logKey(key: Keys): void {console.log(key);
}
logKey('bar');// 方法三:创建数组
const keys: Keys[] = ['foo', 'bar'];
keys.forEach((key) => {console.log(getProperty(obj, key));
});

infer

type Unpack<T> = T extends Array<infer R> ? R : T;type NumArr = Array<number>;type U = Unpack<NumArr>; // number// 使用 Unpack<T> 提取数组元素类型
type StringArray = Array<string>;
type StringType = Unpack<StringArray>; // string// 使用 NumArr 作为变量类型
const numbers: NumArr = [1, 2, 3];// 使用 U 作为变量类型
const num: U = 42;
console.log(numbers); // 输出: [1, 2, 3]
console.log(num); // 输出: 42

说明:

infer 是 TypeScript 中条件类型的一部分,用于从类型中提取子类型。它的作用是从条件类型中的泛型参数推导出具体的类型。具体逻辑如下:

  1. 在条件类型 T extends U ? X : Y 中,如果 T 满足 U 的约束,可以通过 infer 提取 T 的子类型。
  2. infer 通常与 extends 配合使用,用于匹配和捕获类型。

在代码中:

  • type Unpack<T> = T extends Array<infer R> ? R : T;
    • 如果 T 是数组类型,则通过 infer R 提取出数组的元素类型 R
    • 如果 T 不是数组类型,则直接返回 T

例如:

  • Unpack<number[]> 返回 number
  • Unpack<string[]> 返回 string

unref

unref‌函数用于获取ref对象当前的原始值。在模板或计算属性中使用ref对象时,Vue会自动解包ref对象,直接使用其value属性。但是,在TypeScript类型系统中,unref提供了一种类型安全的方式来获取ref对象的值。

const count = ref(0)
const value = unref(count) // 获取count的当前值
const value = count.value  // 获取count的当前值

总结

  • UnwrapRef‌主要用于类型系统,确保类型安全地解析嵌套的Ref对象。
  • unref‌用于在运行时获取ref对象的当前值,提供类型安全的方式访问ref的值。

可以在演练场试试看:

TypeScript: 演练场 - 一个用于 TypeScript 和 JavaScript 的在线编辑器


文章转载自:

http://ntYjsvp7.xbzfz.cn
http://wlg1RiXn.xbzfz.cn
http://t6QxpAlA.xbzfz.cn
http://kVGRvPQF.xbzfz.cn
http://WnzzEGRv.xbzfz.cn
http://LVTVV85d.xbzfz.cn
http://f8oe1Lbd.xbzfz.cn
http://QsVjb51X.xbzfz.cn
http://Z3AZsAr9.xbzfz.cn
http://eanAthJk.xbzfz.cn
http://RV00tSRQ.xbzfz.cn
http://mOYPuDM2.xbzfz.cn
http://CltVy2LL.xbzfz.cn
http://ks3xKi4O.xbzfz.cn
http://XUjCHVPu.xbzfz.cn
http://eC1fSKKd.xbzfz.cn
http://UK9h84IP.xbzfz.cn
http://73y79hgN.xbzfz.cn
http://BxD3zcOk.xbzfz.cn
http://V123DOTx.xbzfz.cn
http://Li6pcRff.xbzfz.cn
http://EKQRgEHx.xbzfz.cn
http://g772PUrD.xbzfz.cn
http://9ZyYPxhH.xbzfz.cn
http://Mo0hZ4tu.xbzfz.cn
http://88DpgmIs.xbzfz.cn
http://64mhFu0F.xbzfz.cn
http://hpNDZvxk.xbzfz.cn
http://LBN5qEbN.xbzfz.cn
http://hSicR7fK.xbzfz.cn
http://www.dtcms.com/wzjs/739633.html

相关文章:

  • 网站商城建设员招聘信息网络广告公司排名
  • dede企业网站创立一个网站要多少钱
  • 网络哪里能接活做网站莆田有哪几家做网站设计
  • 单位网站建设管理工作总结wordpress导航栏制作教程
  • html移动网站开发摄影设计思路
  • 手机网站尺寸大小网站建设就业前景2017
  • 买域名后 怎么做网站电商拿货平台
  • 做网站预付款 怎么做账哪里做网站需求
  • 《php网站开发》课程资料胖小七网站建设
  • 建立个人网站的步骤有哪些seo自己做网站吗
  • 工信部备案网站苏州网站设计多少钱
  • 天津建设网站需要的费用郑州 发布会
  • mvc做的游戏网站代码wordpress多重查询
  • 网站建设计划书范本php网站的开发背景
  • 网站流量与带宽数码产品网站建设计划书
  • 网站建设的推进方案宁波网站制作怎样
  • 牛商网营销型网站多少钱网站开发盈亏平衡分析表
  • 做网站需学什么国家信用信息公示系统广东
  • 规范网站建设的通知湖南刚刚发生的大事件
  • 麓谷网站建设公司关键词排名点击
  • 中国建设银行官网站公积金预约南充房管局网站查询房产
  • 如何创建一个网站0元上海市政网网址
  • 重庆网站开发设计公司零基础编程学python
  • jsp做网站还筑招网
  • 调兵山 网站建设网站怎么做移动图片大全
  • 企业网站 自助建站单位怎样做网站
  • 外贸机械网站建设做外贸在哪个网站好
  • 铜川网站建设电话仿站工具箱网页版
  • wordpress绑定网站福建泉州做网站公司哪家好
  • 网站后台页面模板下载汉中市建设工程造价信息网