2017-04-01 30 views
0

instanceof Bufferと同じことを行っていることがわかってから、なぜBuffer.isBufferメソッドが必要なのですか?なぜBuffer.isBufferメソッドが必要ですか?

https://github.com/nodejs/node/blob/master/lib/buffer.js#L306

+0

これはあなたに有用であろう、のhttp://のstackoverflow。 com/questions/21858138/use-of-buffer-isbuffer-when-you-can-use-instanceof –

+0

ありがとうございました!それは同じ問題です – stackoverYC

答えて

1

それは技術的に必要はありません。便宜上存在しており、おそらく少なくともある程度は、慣用的なものです。

ませ拡張説明はwhen it was definedを与えられていないが、リファクタリング(DRY - 答えは「バッファは何か」一度、再利用)されているように見えますしておよび/または文体の好み:

あり
- if (!(buffer instanceof Buffer)) { 
+ if (!Buffer.isBuffer(buffer)) { 

おそらくArray.isArray()から取られたインスピレーションでした。

そして、それはまた、いくつかの追加の後方互換性(またはおそらくいくつかの将来のプルーフ)を提供し、としてではないノードのバージョンhave had a single type for Buffersの全てん:

Buffer.isBuffer = function isBuffer(b) { 
    return b instanceof Buffer || b instanceof SlowBuffer; 
}; 
関連する問題