Merge remote-tracking branch 'origin/master'

This commit is contained in:
Angelos Chalaris
2018-01-28 16:41:25 +02:00
3 changed files with 13 additions and 7 deletions

View File

@ -5319,10 +5319,12 @@ Use `Array.forEach()` to return a `function` that uses `Function.apply()` to app
```js
const bindAll = (obj, ...fns) =>
fns.forEach(
fn =>
fn => (
(f = obj[fn]),
(obj[fn] = function() {
return fn.apply(obj);
return f.apply(obj);
})
)
);
```

View File

@ -1225,10 +1225,12 @@ console<span class="token punctuation">.</span><span class="token function">log<
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">UUIDGeneratorNode</span><span class="token punctuation">();</span> <span class="token comment">// '79c7c136-60ee-40a2-beb2-856f1feabefc'</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><h2 style="text-align:center">Object</h2><div class="card fluid"><h3 id="bindall" class="section double-padded">bindAll</h3><div class="section double-padded"><p>Use <code>Array.forEach()</code> to return a <code>function</code> that uses <code>Function.apply()</code> to apply the given context (<code>obj</code>) to <code>fn</code> for each function specified.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">bindAll</span> <span class="token operator">=</span> <span class="token punctuation">(</span>obj<span class="token punctuation">,</span> <span class="token operator">...</span>fns<span class="token punctuation">)</span> <span class="token operator">=></span>
fns<span class="token punctuation">.</span><span class="token function">forEach</span><span class="token punctuation">(</span>
fn <span class="token operator">=></span>
<span class="token punctuation">(</span>obj<span class="token punctuation">[</span>fn<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">() {</span>
<span class="token keyword">return</span> fn<span class="token punctuation">.</span><span class="token function">apply</span><span class="token punctuation">(</span>obj<span class="token punctuation">);
fn <span class="token operator">=></span> <span class="token punctuation">(
(</span>f <span class="token operator">=</span> obj<span class="token punctuation">[</span>fn<span class="token punctuation">]),
(</span>obj<span class="token punctuation">[</span>fn<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">() {</span>
<span class="token keyword">return</span> f<span class="token punctuation">.</span><span class="token function">apply</span><span class="token punctuation">(</span>obj<span class="token punctuation">);
})
)
);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token keyword">var</span> view <span class="token operator">=</span> <span class="token punctuation">{</span>
label<span class="token punctuation">:</span> <span class="token string">'docs'</span><span class="token punctuation">,</span>

View File

@ -5,10 +5,12 @@ Use `Array.forEach()` to return a `function` that uses `Function.apply()` to app
```js
const bindAll = (obj, ...fns) =>
fns.forEach(
fn =>
(f = obj[fn], obj[fn] = function() {
fn => (
(f = obj[fn]),
(obj[fn] = function() {
return f.apply(obj);
})
)
);
```