需要一个内置库或只是〜<库>之间的差异

我注意到,在Nodejs中,我可以调用任何内置库而不需要它。 代替:

var assert = require('assert'); assert.deepEqual(...); 

我可以做到以下几点:

 ~assert.deepEqual(..); 

Node文档中解释了哪些语法? 我认为它更好地分离自定义库需要从内置的,使需求部分更小,但我真的想知道,有没有官方文档呢? 在nodejs中,它是否比通常的require方法更受欢迎? 有没有办法将其用于自定义库?

该语法不是特定于Node的,它只是JavaScript中的Bitwise NOT运算符。

语法所做的是将函数作为expression式进行求值并调用它。

从本质上讲,它与IIFE一样,以稍微复杂的方式。

 // these are functionally the same (function() { console.log('Called!'); })() ~function() { console.log('Me too!'); }()