- 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)
