Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

assert 断言

基础

源代码:lib/assert.js

作用:用于验证变量的关系

用法

新版严格断言模式

  • 引入

    • es6
      import { strict as assert } from 'assert';
      
      或者
      
      import assert from 'assert/strict';
      
    • commonjs
      const assert = require('assert/strict')
      
  • 深度比较

    • 仅考虑自有属性
    • 不想等时会抛出AssertionError
    assert.deepStrictEqual(实际值, 期望值[,不相等时的报错信息]);
    
    或者写别名
    assert.deepEqual(实际值, 期望值[,不相等时的报错信息]);
    
  • 浅层比较

    assert.StrictEqual(实际值, 期望值[,不相等时的报错信息]);
    
    或者写别名
    assert.equal(实际值, 期望值[,不相等时的报错信息]);
    
  • 字符串匹配正则

    assert.match(字符串,正则表达式)
    
    assert.doesNotMatch(字符串,正则表达式)
    
  • 判断value是否为真

    assert.ok(value)
    
    或者直接
    assert(value)
    
  • (不建议使用)旧版断言模式

    • 引入写法import assert from 'assert';
    • 不建议的原因:抽象比较相等(==),规则较宽松