创建一个仅限于特定值的变量
Creating a variable that is restricted to certain values
Typescript 相对较新 - 我正在寻找一种方法来创建仅限于特定值的变量类型。
例如,我有一个元素,我想根据一些 "zoom" 变量更改其宽度。
我希望能够创建一些变量类型 "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
等等等等。有没有办法在 Typescript 中轻松地做到这一点?
全局说。是不可能的。可以使用包含正确值的帮助变量和数组来完成。
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
Typescript 相对较新 - 我正在寻找一种方法来创建仅限于特定值的变量类型。
例如,我有一个元素,我想根据一些 "zoom" 变量更改其宽度。
我希望能够创建一些变量类型 "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
等等等等。有没有办法在 Typescript 中轻松地做到这一点?
全局说。是不可能的。可以使用包含正确值的帮助变量和数组来完成。
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