假设我有两种类型的数字,比如latitude
和longitude
.我想用基本number
原语来表示这些变量,但不允许在typescript中将longitude
赋值给latitude
变量.
有没有办法对number
原语进行子分类,以便typescript将此赋值检测为非法?以某种方式强制进行名义上的键入,从而使该代码失败?
var longitude : LongitudeNumber = new LongitudeNumber();
var latitude : LatitudeNumber;
latitude = longitude; // <-- type failure
"How to extend a primitive type in typescript?"的答案似乎将我带向正确的方向,但我不确定如何扩展该解决方案,为不同的kinds个数字创建不同的名义子类型.
我必须包装原始文件吗?如果是这样的话,我可以让它像正常数字一样无缝地工作,还是必须引用子成员?我可以创建一个typescript编译时数字子类吗?