哪种情况更适合设置路径? " path.join()vs string operation vs template literals"

时间:2017-08-13 03:40:49

标签: javascript node.js

我使用path.join (__dirname, ...)从节点js获取绝对路径。

但我不知道为什么path.join比字符串操作更好? like: __dirname + path...

最近我了解到ES2015脚本支持"模板文字"语法。

那么,这三种情况中哪一种最好?当然,它似乎使用了很多path.join。我不在乎别人是否经常使用它,但我想知道为什么我使用path.join。

案例1:path.join

path.join(__dirname, 'public')

案例2:字符串操作

__dirname + '/public'

案例3:模板文字

`${__dirname}/public`

1 个答案:

答案 0 :(得分:0)

path.join()提供了一些其他方法都无法提供的功能。

  1. 它知道当前平台的路径分隔符是什么,它在Windows上与其他平台不同。因此,使用path.join()编写跨平台代码更容易,而无需编写任何额外代码。

  2. 它在各个部分之间插入一个且只有一个路径分隔符,因此如果您正在使用变量,您甚至不必知道您的变量是否已包含路径分隔符,而不是{{1}将检查并“做正确的事”。

  3. 只需传递两个以上的参数即可连接多个部分。

  4. 因此,如果您不关心任何这些优点,那么请随意使用字符串添加或模板文字。

    关于何时使用模板文字以及何时使用字符串添加,这是一个完全独立的讨论。这主要是你个人的意见 - 没有“正确”的答案。一般来说,我发现模板文字要使代码更具可读性,但有时候使用字符串添加是有意义的,例如在构建包含多个不同代码段或循环的字符串时。