91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比較

發布時間:2020-08-24 14:58:49 來源:腳本之家 閱讀:115 作者:mdxy-dxy 欄目:web開發

1、equal()

equal(actual,expected[,message])

相當于使用 == 運算符比較兩個參數值actual和expected是否相等,如果相等不返回任何值,如果不相等則返回帶有message屬性的AssertionError,若message為undefined,則為默認的錯誤信息。

var assert = require('assert');
assert.equal('1','1');//通過 '1' == '1'
assert.equal('1',1);//通過,'1' == 1
assert.equal('q','q');//通過
assert.equal('abc','abc');//通過 
assert.equal('a','b');//不通過,拋出AssertionError
assert.equal([1,2],[1,2]);//不通過,不能比較數組
assert.equal({a:'string'},{a:'string'});//不通過,不能比較json數據等

== 運算符只是數值相等,并不比較類型相等
equal()方法不能比較數組,json等數據類型的數據,換句話說即不進行深度比較,數組和json數據的子對象不進行比較。

2、strictEqual()

strictEqual(actual,expected[,message])

從字面意思來看,就是equal()方法的嚴格版本,相當于===全等運算符,不僅比較數據值是否相等,還比較數據類型是否相同。跟equal()方法最大的不同就是這點。

var assert = require('assert');
assert.strictEqual('1',1);//不通過
assert.strictEqual(1,1);//通過 
assert.strictEqual('a','a');//通過
assert.equal('abc','abc');//通過 
assert.equal('a','b');//不通過,拋出AssertionError
assert.equal([1,2],[1,2]);//不通過,不能比較數組
assert.equal({a:'string'},{a:'string'});//不通過,不能比較json數據等

可以看到,這跟equal()方法得出的結果是不同的,比較要嚴格一些,其他地方都相同。

3 deepEqual()

deepEqual(actual,expected[,message])

前面不管是equal()方法還是strictEqual()都不能進行深度比較,對數組或者json數據格式的數據不能比較相同與否,使用此方法將可以完美解決這個問題。

var assert = require('assert');
assert.deepEqual([1,2],[1,2]);//通過,數組比較
assert.deepEqual({a:'1'},{a:'1'});//通過
assert.deepEqual([[1,2],[2]],[[1,2],[2]]);//通過,多維數組
assert.deepEqual({a:{b:1}},{a:{b:1}});//通過
assert.deepEqual(1,'1');//通過
assert.deepEqual([1],['1']);//通過

deepEqual()方法能夠比較數組和json等數據,也能比較一般數據,能夠進行更為深層次的數據比較。
deepEqual()方法比較并不嚴格,相當于 == 等于符號,只比較數值,不比較類型

4 strictDeepEqual()

strictDeepEqual(actual,expected[,message])
跟strictEqual()方法相似,相當于=== 全等運算符,不同的是能夠比較數組、json數據等深層的數據。

var assert = require('assert');
assert.deepEqual([1,2],[1,2]);//通過,數組比較
assert.deepEqual({a:'1'},{a:'1'});//通過
assert.deepEqual([[1,2],[2]],[[1,2],[2]]);//通過,多維數組
assert.deepEqual({a:{b:1}},{a:{b:1}});//通過
assert.deepEqual(1,'1');//不通過,類型錯誤
assert.deepEqual([1],['1']);//不通過 ,類型錯誤

deepStrictEqual()方法比deepEqual()更為嚴格,其他都相同。都能進行深層比較。

5 其他方法

assert模塊中還有很多其他很有用的方法,下面列舉幾個,具體的請看

Nodejs API

assert.notEqual(actual,expected[,message])
assert.notStrictEqual(actual,expected[message])
assert.ifError(value)
assert.fail(message)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金沙县| 澎湖县| 汽车| 宁阳县| 正定县| 台南市| 历史| 隆昌县| 桃源县| 兰溪市| 鲜城| 大埔县| 永定县| 崇礼县| 南丹县| 龙井市| 木兰县| 丹寨县| 呼玛县| 鱼台县| 泽普县| 呼伦贝尔市| 封丘县| 高州市| 甘孜| 渭源县| 华池县| 乐东| 葫芦岛市| 哈尔滨市| 大冶市| 上饶市| 阳东县| 宁乡县| 日照市| 张北县| 景泰县| 宣武区| 通海县| 宁国市| 哈密市|