在JS中简单格式化函数的最佳方法

问题描述 投票:0回答:1

我在Ruby中找到了此代码(来自here:]

DX = { E => 1, W => -1, N =>  0, S => 0 }

并且我正在考虑如何以最佳方式在JS中对其进行格式化,因为它缺少“何时”功能。

作为参考,N,S,E和W是“方向”,并且具有类似如下的别名:const N = 1, S = 2, E = 4, W = 8;

我本来想做一个快速箭头功能,但是后来用了:

function DX(dir) {
    if(dir==E) return 1;
    if(dir==W) return -1;
    if(dir==N) return 0;
    if(dir==S) return 0;
}

对我来说看起来有点长,所以我尝试将其缩短:

function DX(dir) {
    if(dir==E) return 1;
    if(dir==W) return -1;
    return 0;
}

然后再次:

function DX(dir) {
    return dir==E ? 1 : dir==W ? -1 : 0;
}

但是现在我们遇到的问题是此代码不易读。因此,我决定将其记录下来:

// returns the distance in x traveled by that direction
// E => 1, W => -1, N =>  0, S => 0
function DX(dir) {
    return dir==E ? 1 : dir==W ? -1 : 0;
}

然后,最后,我将其转换为变量语法和箭头函数:

let DX = (dir) => dir==E ? 1 : dir==W ? -1 : 0;

现在显然,所有这些代码都可以工作,但是我的问题是作为一种样式方式,您认为该样式是“最佳”,无论是在行业中,还是您在哪里专门工作?我认为可读性高于一切,那么您认为哪个代码可读性最好?我个人更喜欢带有文档的部分。

javascript readability code-readability
1个回答
0
投票

只需带一个对象。

const DX = { E: 1, W: -1, N: 0, S: 0 };

// use
value = DC[dir];
© www.soinside.com 2019 - 2024. All rights reserved.