- 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 - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - assert.ok() 函数
Node.js assert.ok() 函数是 Node.js 的 assert 模块的一个内置函数。它用于验证给定值是否为真值。
真值是在与比较运算符一起使用时被视为布尔值 true 的值。除以下值外,所有值都被视为真值:false、0、-0、0n、""、null、undefined 和 NaN。
当 value 参数为假值时,Node.js assert.ok() 函数会向输出抛出一个 AssertionError。如果 value 参数为真值,则不会向输出返回任何内容。如果 value 参数没有输入,则函数会抛出一个 AssertionError,其消息为“未向 `assert.ok()` 传递 value 参数”。
语法
以下是 Node.js assert.ok() 函数的语法:
assert.ok(value[, message]);
参数
此函数接受两个参数。如下所述。
value − (必需) 此参数 value 将被评估是否为 真值。
message − (可选) 可以将字符串或 Error 类型作为输入传递给此参数。
返回值
如果 value 为假值,则此函数将在终端返回 AssertionError。如果 value 为真值,则不会返回任何内容。
以下是 真值 的一些示例:
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。这是正确的,因为 "{}" 是一个真值。
// Returns nothing
示例
在下面的示例中,我们正在传递一个 整数 值并检查其类型。
const assert = require('assert'); var num = 45; assert.ok(typeof num === 'number', 'The value is truthy');
输出
如果我们编译并运行代码,它不会向输出抛出 AssertionError。这是正确的,因为 45 == 'number'。
// Returns nothing
以下是 假值:
false
0
-0
0n
"", '', ``
null
undefined
NaN
示例
在下面的示例中,我们将一个 假值 传递给函数的 value 参数。
const assert = require('assert'); assert.ok(null, 'The value is falsy');
输出
如果我们编译并运行代码,它将抛出一个 AssertionError,以及 message 中的文本到输出。这是错误的,因为 "null" 是一个假值。
assert.js:269 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 = 'Tutorialspoint'; assert.ok(typeof text === 'boolean', 'The value is falsy');
输出
如果我们编译并运行代码,它将抛出一个 AssertionError,以及 message 中的文本到输出。这是错误的,因为 'Tutorialspoint' !== 'boolean'。
assert.js:269 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 参数,并且我们没有向 message 参数传递任何输入字符串。
const assert = require('assert'); assert.ok(false);
输出
如果我们编译并运行代码,它将抛出一个 AssertionError,并带有函数自动分配的默认文本消息。这是错误的,因为 "false" 是一个假值。
assert.js:269 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 参数传递任何值,并且我们没有向 message 参数传递任何输入字符串。
const assert = require('assert'); assert.ok();
输出
如果我们编译并运行代码,它将抛出一个 AssertionError,消息为“未向 'assert.ok()' 传递 value 参数”。
assert.js:269 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)