【发布时间】:2017-01-19 12:53:45
【问题描述】:
我创建了一个node module,其中包含几个用于数组和字符串的自定义方法。
首先,我只是像使用常规模块一样使用它,并从 require 获取函数,如下所示:
替代 1。
const invSlice = require('inverted-slice');
let arr1 = [1,2,3,4];
invSlice.iSlice(arr, start, stop);
这可行,但将iSlice 作为Array 对象上的方法调用会更好。我通过在我的库中添加以下代码解决了这个问题:
Array.prototype.iSlice = iSliceBuiltin; // iSliceBuiltin is my function
现在可以像这样使用该方法:
替代 2。
require('inverted-slice');
let arr1 = [1,2,3,4];
arr1.iSlice(start, stop);
我认为这比 Alt 1 更好。
问题
我的问题是,在将 Alt 2 中的自定义方法添加到 Array 或 String 等内置对象时,是否有任何最佳实践或指南可以遵循?
【问题讨论】:
-
我想大多数人会说“最佳实践”是不向内置对象添加方法。
标签: javascript node.js javascript-objects node-modules