换位而不是初始声明

时间:2017-06-28 12:37:28

标签: javascript c# bit-shift

我在JavaScript中遇到了不寻常的声明(我在C#中也见过这个):

var x = 1 << 0; // output: 1

为什么以及何时应该使用它?

编辑:我在上下文中看到过这样的声明:

var orderByName = 1 << 0;
var orderByLastName = 1 << 1;
var orderByMiddleName = 1 << 2;

2 个答案:

答案 0 :(得分:7)

如果您有一组数字标记要一起使用,那么使用轮班声明它们会更清晰

var S_READ   = 1 << 0;
var S_WRITE  = 1 << 1;
var S_APPEND = 1 << 2;
var S_CREATE = 1 << 3;

而不是明确地写出两个的权力(1,2,4,8等)

我的猜测是你在类似的背景下看到了这个1 << 0

答案 1 :(得分:1)

你不应该。这是多余的。只需写下var x = 1;