为什么 Buffer.from(array) 替代 new Buffer(array) ? 避免使用 new?

2017-06-09 10:15:47 +08:00
 iugo
以及类似的静态方法替代 new 的问题. 在 JavaScript 中这样做是基于什么原因?
2823 次点击
所在节点    Node.js
10 条回复
ljcarsenal
2017-06-09 10:17:35 +08:00
我记得是 new Buffer()可以接受不同类型的参数 产生不同的结果,容易引起歧义吧,所以都给改掉了
wwulfric
2017-06-09 10:30:50 +08:00
如果每次传入的 array 一样,生成的都是同一个 Buffer。但是 new Buffer 每次都会生成一个新的 Buffer,即使每次调用的时候都是同样的 array

以上是我猜的,我没写过 js
lrannn
2017-06-09 10:32:36 +08:00
为什么这个帖子是黑色的背景?
phx13ye
2017-06-09 10:36:20 +08:00
可以看下 joshua bloch 的 effective java 关于静态工厂的章节
蛤蛤,java 狗撸过
miyuki
2017-06-09 10:37:29 +08:00
@lrannn

Node.js
miyuki
2017-06-09 10:37:50 +08:00
@lrannn 节点主题
zhihy123
2017-06-09 10:46:41 +08:00
buffer 成为内置模块了,文档上写了,不过其他的我就不记得了~
exoticknight
2017-06-09 10:55:54 +08:00
查了一下,Buffer.from(array) 还有一个调用的方式,那个能够直接用 TypedArray 的 buffer,所以用 new 容易引起歧义
seki
2017-06-09 10:56:00 +08:00
iugo
2017-06-09 11:05:15 +08:00
@seki 我刚去看了文档, 您就发来了链接. 心有灵犀呀~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/367138

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX