Node.js - path.isAbsolute() 方法



Node.js path.isAbsolute() 方法将返回一个布尔值,如果给定的路径是否是绝对的。具有查找特定文件所需的所有详细信息的路径被视为绝对路径。它用于确定给定路径是否解析为文件系统的根目录。

如果给定的文件路径长度为零或空字符串,则此方法将返回 false。如果给出任何值而不是文件路径字符串,则此方法将返回 TypeError。

语法

以下是路径模块的Node.js path.isAbsolute()方法的语法 -


 path.isAbsolute(path)

参数

  • path − 此参数指定特定的文件路径字符串;用于确定它是否为绝对路径。如果路径不是字符串,则将抛出 TypeError。

返回值

此方法将返回 Boolean。如果给定的文件路径是绝对的,则返回 true,否则返回 false。

如果给定的路径是绝对的,则Node.js path.isAbsolute() 方法将返回 true。

在以下示例中,我们尝试执行给定路径文件为绝对路径文件的所有可能性。


const path = require('path');

var path1 = path.isAbsolute("/Users/Lenovo/Desktop/JavaScript/Nodefile.js");
console.log(path1);

var path2 = path.isAbsolute("////////Nodefile.js");
console.log(path2);

var path3 = path.isAbsolute("/Users/Lenovo/...");
console.log(path3);

输出

执行上述程序后,path.isAbsolute() 方法返回 true,因为给定的文件路径是绝对的。

true
true
true

如果给定的路径是绝对路径,则Node.js path.isAbsolute() 方法将返回 false。

在以下示例中,我们尝试执行给定路径文件的所有可能性,该文件将返回 false。


const path = require('path');

var path1 = path.isAbsolute("Users//Lenovo/Desktop/JavaScript/Nodefile.js");
console.log(path1);

var path2 = path.isAbsolute("Users\\Lenovo\Desktop");
console.log(path2);

var path3 = path.isAbsolute(".");
console.log(path3);

var path4 = path.isAbsolute("");
console.log(path4)

输出

正如我们在下面的输出中看到的,该方法返回 false,因为给定的文件路径不是绝对的。

false
false
false
false

如果我们将一个不是字符串类型的值传递给 path 参数,该方法将抛出 TypeError

在以下示例中,我们将整数而不是字符串传递给 path.isAbsolute() 方法的 path 参数。


const path = require('path');
var path1 = path.isAbsolute(98765467);
console.log(path1);

类型错误

如果我们编译并运行上述程序,此方法会抛出 TypeError,因为 path 参数不是字符串值。

path.js:39
throw new ERR_INVALID_ARG_TYPE('path', 'string', path);
^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type number
at assertPath (path.js:39:11)
at Object.isAbsolute (path.js:1146:5)
at Object.<anonymous> (/home/cg/root/63a028ab0650d/main.js:3:18)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)