有没有一种方法可以在Typescript中自动检查数据类型的数据相等性
Is there a way to automatically check data equality for data type in Typescript?
在Python
中,您可以执行类似的操作
>>> a = ('a', 'b')
>>> b = ('a', 'b')
>>> a == b
True
然而在Typescript
中
type test = [string, string];
var data1: test = ['a', 'b'];
var data2: test = ['a', 'b'];
console.log(data1 == data2); // return false
console.log(data1 === data2); // return false
对相同类型的两个数据的相等性检查使用引用,我知道我可以循环遍历数组,但是否有类似于Python
tuple
的语法糖来检查数据相等性?
有没有一种方法可以自动检查Typescript中数据类型的数据相等性?
没有。这种情况与JavaScript中的情况相同,即您需要一个库或自定义代码。
在实践中,这个问题的正确答案几乎总是使用Lodash的_.isEqual
函数:
import _ = require("lodash");
type test = [string, string];
var data1: test = ['a', 'b'];
var data2: test = ['a', 'b'];
console.log(_.isEqual(data1, data2));
这将为你做深入的平等比较,类似于你对其他语言的期望。
TypeScript没有现成的这个功能,这种情况与JavaScript中遇到的情况完全相似:你需要递归地扫描对象(我相信Python也在做类似的事情)。
为了实现测试目的的快速临时比较,您可以将值转换为JSON字符串,然后比较这些字符串:
JSON.stringify(data1) == JSON.stringify(data2); // true
相关文章:
- javascript解释器如何理解变量的数据类型
- 从查询字符串参数推断出正确的数据类型
- 为什么不'我们在javascript中使用函数参数的数据类型
- 基于数据类型的编辑框的汇总列表
- 如何降低此函数的复杂性,该函数根据数据类型进行回调
- 比较和分配数据类型的困难
- 在javascript中调用函数/对象引用时,可容纳任何数据类型
- JavaScript严格类型检查失败
- E4X中是否有一种方法可以将基元数据类型的XMLList转换为类似于Array.join()的Array
- Highcharts系列.数据数据类型限制
- 如何在php循环中显示隐藏的数据类型
- 如何从标签数据类型=“;无线电”;
- 有没有一种方法可以在Typescript中自动检查数据类型的数据相等性
- 检查数组中元素的数据类型是否为日期对象的最简单方法
- 如何在节点JS中检查数据类型 - 特别是整数
- 引用和数据类型检查,这些是相同的
- 如何检查ng-repeat中的数据类型
- 将变量数据类型解析为一个函数,该函数在JavaScript中包含对数据类型的条件检查
- 检查数据类型jquery或javascript
- 数据类型检查提示复选框javascript