- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - assert.ok() 函数
Node.js assert.ok() 函数是 Node.js 的 assert 模块的内置函数。它用于验证给定值是否为真值。
如果 on 在与比较运算符一起使用时被视为布尔值 true,则为 true。除 false 、 0 、 -0 、 0n 、 “” 、 null 、 undefined 和 NaN 之外的所有值都被视为真值。
当 value 参数为 falsy 时,Node.js assert.ok() 函数会向输出抛出 AssertionError。如果 value 参数为 true,则它不会向输出返回任何内容。如果没有给 value 参数提供任何输入,则函数会抛出一个 AssertionError,并显示消息 'No value argument passed to 'assert.ok()'。
语法
以下是 assert.ok() 函数的语法Node.js -
assert.ok(value[, message]);
参数
此函数接受两个参数。下面将对此进行描述。
- value − (必填)此参数值将通过它是否为真实值来评估。
- message − (可选) 字符串或错误类型可以作为输入传递给此参数。
返回值
如果值为 falsy,则此函数将在终端上返回 AssertionError。如果值为 truthy ,则不会返回任何内容。
以下是一些 truthy 值 -
- true
- {}
- []
- 30
- "0"
- "false"
- -32
- 12n
- 3.14
- -3.14
- Infinity
- -Infinity
在以下示例中,我们将一个真实值传递给 Node.js assert.ok() 函数的 value 参数。
const assert = require('assert');
assert.ok({}, 'The value is truthy');
输出
如果我们编译并运行代码,它不会将 AssertionError 抛向输出。这是真的,因为“{}”是一个真值。
例
在下面的示例中,我们将传递一个整数值并检查其类型。
const assert = require('assert');
var num = 45;
assert.ok(typeof num === 'number', 'The value is truthy');
输出
如果我们编译并运行代码,它不会将 AssertionError 抛向输出。这是真的,因为 45 == 'number'。
以下是 falsy 值 -
- false
- 0
- -0
- 0n
- "", '', ``
- null
- undefined
- NaN
在以下示例中,我们将一个虚假值传递给函数的 value 参数。
const assert = require('assert');
assert.ok(null, 'The value is falsy');
输出
如果我们编译并运行代码,它将向输出抛出一个 AssertionError 以及消息中的文本。这是错误的,因为“null”是一个虚假值。
throw err;
^
AssertionError [ERR_ASSERTION]: The value is falsy
at Object.<anonymous> (/home/cg/root/639c3b5c17b34/main.js:3:8)
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)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
例
在以下示例中,我们将传递一个字符串值并检查其类型。
const assert = require('assert');
var text = 'Qikepu';
assert.ok(typeof text === 'boolean', 'The value is falsy');
输出
如果我们编译并运行代码,它将向输出抛出一个 AssertionError 以及消息中的文本。这是错误的,因为 'Tutorialspoint' !== 'boolean.
throw err;
^
AssertionError [ERR_ASSERTION]: The value is falsy
at Object.<anonymous> (/home/cg/root/639c3b5c17b34/main.js:4:8)
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)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
例
在以下示例中,我们将一个虚假值传递给函数的 value 参数,但我们没有将任何输入字符串传递给消息参数。
const assert = require('assert');
assert.ok(false);
输出
如果我们编译并运行代码,它将抛出一个 AssertionError,其中包含一条由函数自动分配的默认文本消息。这是错误的,因为“false”是一个虚假的值。
throw err;
^
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
assert.ok(false)
at Object.<anonymous> (/home/cg/root/639c3b5c17b34/main.js:3:8)
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)at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
例
在以下示例中,我们没有向函数的 value 参数传递任何值,也没有向消息参数传递任何输入字符串。
const assert = require('assert');
assert.ok();
输出
如果我们编译并运行代码,它将抛出一个 AssertionError,如“没有值参数传递给 'assert.ok()''。
throw err;
^
AssertionError [ERR_ASSERTION]: No value argument passed to `assert.ok()`
at Object.<anonymous> (/home/cg/root/639c3b5c17b34/main.js:3:8)
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)at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)