为什么我们需要Buffer.isBuffer方法?
问题描述:
为什么我们需要Buffer.isBuffer
方法,当我们知道它的做法与instanceof Buffer
一样?为什么我们需要Buffer.isBuffer方法?
https://github.com/nodejs/node/blob/master/lib/buffer.js#L306
答
这不是技术上的必要。它是为了方便而存在的,至少在某种程度上可能是惯用的。
没有扩展给出解释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;
};
这将是对你有用,HTTP://计算器。 com/questions/21858138/whats-the-use-of-buffer-isbuffer-when-you-could-use-instanceof –
谢谢!这是同样的问题 – stackoverYC