创建仅限于某些值的变量

时间:2017-07-05 20:01:21

标签: typescript typing

对Typescript相对较新 - 我正在寻找一种创建限制为某些值的变量类型的方法。

例如,我有一个元素,我想根据一些“缩放”变量来改变宽度。

我希望能够创建一些变量类型“Zoom”,它的作用类似于数字,但只能是值1,2,5,10,20,50或100(限制了元素可以放大)

我还希望能够增加缩放变量并让它迭代这些值,如下所示:

let zoom : Zoom = 1;

zoom++
// Here, zoom should equal 2

zoom++
// Here, zoom should equal 5

zoom++
// Here, zoom should equal 10

zoom--
// Here, zoom should equal 5

等等等。有没有办法在打字稿中轻松做到这一点?

1 个答案:

答案 0 :(得分:1)

Globaly说。这是不可能的。可以使用帮助变量和包含正确值的数组来完成。

var zoomLevels = [1, 2, 5, 10, 20, 50, 100]

var zoom = 0;
// zoomLevels[zoom] is now 1

zoom++;
// zoomLevels[zoom] is now 2    

zoom++;
// zoomLevels[zoom] is now 5

zoom++;
// zoomLevels[zoom] is now 10

zoom--;
// zoomLevels[zoom] is now 5