Add example of destructuring assignment in class constructors for options
This commit is contained in:
parent
1731f7d321
commit
7fdd21b26d
|
@ -0,0 +1,4 @@
|
||||||
|
class Person
|
||||||
|
constructor: (options) ->
|
||||||
|
{@name, @age, @height} = options
|
||||||
|
|
|
@ -761,6 +761,11 @@ Expressions
|
||||||
Destructuring assignment can even be combined with splats.
|
Destructuring assignment can even be combined with splats.
|
||||||
</p>
|
</p>
|
||||||
<%= code_for('patterns_and_splats', 'contents.join("")') %>
|
<%= code_for('patterns_and_splats', 'contents.join("")') %>
|
||||||
|
<p>
|
||||||
|
Destructuring assignment is also useful when combined with class constructors
|
||||||
|
to assign propeties to your instance from an options object passed to the constructor.
|
||||||
|
</p>
|
||||||
|
<%= code_for('constructor_destructuring', 'contents.join("")') %>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<span id="fat_arrow" class="bookmark"></span>
|
<span id="fat_arrow" class="bookmark"></span>
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
// Generated by CoffeeScript 1.3.3
|
||||||
|
var Person;
|
||||||
|
|
||||||
|
Person = (function() {
|
||||||
|
|
||||||
|
function Person(options) {
|
||||||
|
this.name = options.name, this.age = options.age, this.height = options.height;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Person;
|
||||||
|
|
||||||
|
})();
|
31
index.html
31
index.html
|
@ -1735,6 +1735,37 @@ _ref <span class="Keyword">=</span> tag.<span class="LibraryFunction">split</spa
|
||||||
tag = "<impossible>";
|
tag = "<impossible>";
|
||||||
|
|
||||||
_ref = tag.split(""), open = _ref[0], contents = 3 <= _ref.length ? __slice.call(_ref, 1, _i = _ref.length - 1) : (_i = 1, []), close = _ref[_i++];
|
_ref = tag.split(""), open = _ref[0], contents = 3 <= _ref.length ? __slice.call(_ref, 1, _i = _ref.length - 1) : (_i = 1, []), close = _ref[_i++];
|
||||||
|
;alert(contents.join(""));'>run: contents.join("")</div><br class='clear' /></div>
|
||||||
|
<p>
|
||||||
|
Destructuring assignment is also useful when combined with class constructors
|
||||||
|
to assign propeties to your instance from an options object passed to the constructor.
|
||||||
|
</p>
|
||||||
|
<div class='code'><pre class="idle">class Person
|
||||||
|
constructor: (options) ->
|
||||||
|
{@name, @age, @height} = options
|
||||||
|
|
||||||
|
</pre><pre class="idle"><span class="Storage">var</span> Person;
|
||||||
|
|
||||||
|
Person <span class="Keyword">=</span> (<span class="Storage">function</span>() {
|
||||||
|
|
||||||
|
<span class="Storage">function</span> <span class="FunctionName">Person</span>(<span class="FunctionArgument">options</span>) {
|
||||||
|
<span class="Variable">this</span>.<span class="LibraryConstant">name</span> <span class="Keyword">=</span> options.<span class="LibraryConstant">name</span>, <span class="Variable">this</span>.age <span class="Keyword">=</span> options.age, <span class="Variable">this</span>.<span class="LibraryConstant">height</span> <span class="Keyword">=</span> options.<span class="LibraryConstant">height</span>;
|
||||||
|
}
|
||||||
|
|
||||||
|
<span class="Keyword">return</span> Person;
|
||||||
|
|
||||||
|
})();
|
||||||
|
</pre><script>window.example29 = "class Person\n constructor: (options) -> \n {@name, @age, @height} = options\n\nalert contents.join(\"\")"</script><div class='minibutton load' onclick='javascript: loadConsole(example29);'>load</div><div class='minibutton ok' onclick='javascript: var Person;
|
||||||
|
|
||||||
|
Person = (function() {
|
||||||
|
|
||||||
|
function Person(options) {
|
||||||
|
this.name = options.name, this.age = options.age, this.height = options.height;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Person;
|
||||||
|
|
||||||
|
})();
|
||||||
;alert(contents.join(""));'>run: contents.join("")</div><br class='clear' /></div>
|
;alert(contents.join(""));'>run: contents.join("")</div><br class='clear' /></div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
Loading…
Reference in New Issue