C/C++开发人员的TypeScript入门笔记

这篇博客主要介绍了C/C++开发者如何入门TypeScript,探讨了TypeScript中object的初始化、object id、constructor的访问权限以及WeakMap的区别和使用场景,强调了WeakMap在不影响对象生命周期中的作用。
摘要由CSDN通过智能技术生成

TypeScript里面的有些概念,是C++开发人员无法直接理解的。

TypeScript之object

在TFJS里面,每一个object都通过大括号初始化,然后用作WeakMap的关键字:

export type DataId = object;
const dataId = {}; //DataId类型

初始化之后,这个dataId就不再更改了。原因是,虽然初始化的过程都是一样的大括号,但是,对应的却是不同的对象。

TFJS的具体例子如下:

const dataId = {};

譬如下面的例子:

  write(values: backend_util.BackendValues, shape: number[], dtype: DataType):
      DataId {
    const dataId = {};
    
    this.tensorMap.set(dataId, {
      dtype,
      values,
      bufferInfo: {byteSize, usage: DEFAULT_GPUBUFFER_USAGE}
    });
    return dataId;
  }

下面的代码,比较了使用大括号初始化的两个object,他们是不同的:

var wm1 = new Map()
const o1 = {};
const o2 = {};
wm1.set(o1, 37);
wm1.set(o2, 'abcde');
console.log("wm1.get(o1)=&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值