JavaScriptã§æã使ããã2ã¤ã®ãã¼ã¿æ§é 㯠Object 㨠Array ã§ãã
- ãªãã¸ã§ã¯ãã使ç¨ããã¨ããã¼ã¿é ç®ããã¼ãã¨ã«æ ¼ç´ããåä¸ã®ã¨ã³ãã£ãã£ã使ã§ãã¾ãã
- é åã¯é åºä»ãããããªã¹ãã«ãã¼ã¿é ç®ãéãããã¨ãã§ãã¾ãã
ã§ããããããã颿°ã«ãããã¨ãããªãã¸ã§ã¯ãï¼é åå ¨ä½ã¯å¿ è¦ã¨ããªãå ´åãããã¾ããåã ã®é¨åãå¿ è¦ãªå ´åã§ãã
åå²ä»£å ¥(Destructuring assignment) ã¯ãé åã¾ãã¯ãªãã¸ã§ã¯ãã®ä¸èº«ãè¤æ°ã®å¤æ°ã« ã¢ã³ãã㯠ã§ããããã«ããç¹å¥ãªæ§æã§ãããé常ã«ä¾¿å©ãªå ´åãããã¾ãã
åå²ä»£å ¥(éæ§é å/æ§é ã®åè§£)ã¯ãå¤ãã®ãã©ã¡ã¼ã¿ã¨ããã©ã«ãå¤ãæã¤è¤éãªé¢æ°ã§ããã¾ãæ©è½ãã¾ãããã®å¾ããã«ããããè¦ã¦ããã¾ãã
Array ã®éæ§é å
é åã夿°ã«åå²ããæ¹æ³ã®ä¾ã§ã:
// å§åã®é
åãããã¾ã
let arr = ["John", "Smith"]
// åå²ä»£å
¥
// sets firstName = arr[0]
// and surname = arr[1]
let [firstName, surname] = arr;
alert(firstName); // John
alert(surname); // Smith
ããã§ãé åè¦ç´ ã®ä»£ããã«å¤æ°ãæ±ããã¨ãã§ãã¾ãã
split ããã®ä»é
åãè¿ãã¡ã½ããã¨çµã¿åãããã¨ä¾¿å©ã§ã:
let [firstName, surname] = "John Smith".split(' ');
alert(firstName); // John
alert(surname); // Smith
ã覧ã®éããæ§æã¯ã·ã³ãã«ã§ããã§ããããã¤ãã®ç¬ç¹ãªé¨åãããã¾ããããçè§£ããããã«ä»ã®ä¾ãè¦ã¦ããã¾ãããã
ããã¯ãé ç®ã夿°ã«ã³ãã¼ãããã¨ã«ãã£ã¦ âéæ§é å(destructurizes)â ãããããâåå²ä»£å ¥(destructuring assignment)â ã¨å¼ã°ãã¦ãã¾ãã é åèªä½ã¯å¤æ´ããã¾ããã
ããã¯ãããçãæ¸ãæ¹ã«ãªãã¾ã:
// let [firstName, surname] = arr;
let firstName = arr[0];
let surname = arr[1];
é åã®ä¸è¦ãªè¦ç´ ã¯ãä½åãªã«ã³ããã¤ãããã¨ã§æ¨ã¦ããã¨ãã§ãã¾ã:
// 1çªç®ã2çªç®ã®è¦ç´ ãä¸è¦ã®å ´å
let [, , title] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
alert( title ); // Consul
ä¸ã®ã³ã¼ãã§ã¯ãæåã®2ã¤ã®è¦ç´ ãã¹ãããããã3ã¤ç®ã¯ title ã«ä»£å
¥ãããæ®ããã¹ãããããã¦ãã¾ãã
â¦å®éã«ã¯é åã ãã§ãªããä»»æã®å復å¯è½(iterable)ã«å¯¾ãã¦ä½¿ããã¨ãã§ãã¾ã:
let [a, b, c] = "abc"; // ["a", "b", "c"]
let [one, two, three] = new Set([1, 2, 3]);
å
é¨çã«ã¯åå²ä»£å
¥ã¯å³è¾ºã®å¤ã«å¯¾ãã¦ã¤ãã¬ã¼ã·ã§ã³ãããã¨ã§åä½ããããããããåä½ãã¾ãããã㯠= ã®å³å´ã®å¤ã«å¯¾ã㦠for..of ãå¼ã³åºããå¤ã代å
¥ããããã®ã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ã¼ã®ä¸ç¨®ã§ãã
左辺ã«ã¯ä»»æã® âå²ãå½ã¦å¯è½ãªãã®â ãæå®ãããã¨ãã§ãã¾ãã
ä¾ãã°ããªãã¸ã§ã¯ãã®ããããã£ãæå®ã§ãã¾ã:
let user = {};
[user.name, user.surname] = "John Smith".split(' ');
alert(user.name); // John
alert(user.surname); // Smith
以åã®ãã£ãã¿ã¼ã§ãObject.entries(obj) ã¡ã½ãããè¦ã¾ããã
ãªãã¸ã§ã¯ãã® key-value ãã«ã¼ãããã®ã«ãåå²ä»£å ¥ãä¸ç·ã«ä½¿ããã¨ãã§ãã¾ã:
let user = {
name: "John",
age: 30
};
// key-value ã®ã«ã¼ã
for (let [key, value] of Object.entries(user)) {
alert(`${key}:${value}`); // name:John, then age:30
}
Map ã使ç¨ããåæ§ã®ã³ã¼ãã¯ãå復å¯è½ãªã®ã§ããã·ã³ãã«ã§ã:
let user = new Map();
user.set("name", "John");
user.set("age", "30");
// Map 㯠[key, value] ãã¢ã§å復ãã¾ã
for (let [key, value] of user) {
alert(`${key}:${value}`); // name:John, then age:30
}
åå²ä»£å ¥ã使ç¨ãã¦ï¼ã¤ã®å¤æ°ã®å¤ãå ¥ãæ¿ãããåºãç¥ãããããªãã¯ãããã¾ã:
let guest = "Jane";
let admin = "Pete";
// å¤ãå
¥ãããã¾ããã: guest=Pete, admin=Jane
[guest, admin] = [admin, guest];
alert(`${guest} ${admin}`); // Pete Jane (successfully swapped!)
ããã§ã¯ã2ã¤ã®å¤æ°ã®ä¸æçãªé åãä½ãããã®ç´å¾ãå ¥ãæ¿ããé çªã§åå²ãã¾ããã
ãã®æ¹æ³ã§ï¼ã¤ä»¥ä¸ã®å¤æ°ãå ¥ãæ¿ãããã¨ãå¯è½ã§ãã
æ®ã ââ¦â
é常ãä»£å ¥ãã夿°ã®æ°ãããé åã®è¦ç´ æ°ã®ã»ããå¤ãå ´åãâä½åãªâ é ç®ã¯çç¥ããã¾ãã
ä¾ãã°ãããã§ã¯2ã¤ã®é ç®ãåå¾ãããæ®ãã¯ç¡è¦ããã¦ãã¾ã:
let [name1, name2] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
alert(name1); // Julius
alert(name2); // Caesar
// ãã®ä»¥éã®é
ç®ã¯ã©ãã«ã代å
¥ããã¦ãã¾ãã
ç¶ãé
ç®ããã¹ã¦åå¾ãããå ´åã¯ãï¼ã¤ã®ããã "..." ã使ç¨ãã¦ âæ®ãâ ãåå¾ãããã©ã¡ã¼ã¿ãï¼ã¤è¿½å ãã¾ãã:
let [name1, name2, ...rest] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
// rest ã¯ï¼ã¤ç®ã®é
ç®ããã®é
åã§ã
alert(rest[0]); // Consul
alert(rest[1]); // of the Roman Republic
alert(rest.length); // 2
restã®å¤ã¯ãæ®ãã®é
åè¦ç´ ã®é
åã§ãã
rest ã®ä»£ããã«ä»ã®å¤æ°åã使ç¨ã§ãã¾ãããã®åã«3ã¤ã®ãããããããåå²ä»£å
¥ã®æå¾ã«ããããã«ãã¦ãã ããã
let [name1, name2, ...titles] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
// now titles = ["Consul", "of the Roman Republic"]
ããã©ã«ãå¤
ä»£å ¥ãã夿°ã®æ°ãããé åã®è¦ç´ æ°ã®ã»ããå°ãªãå ´åãã¨ã©ã¼ã«ã¯ãªãã¾ãããä¸è¶³ãã¦ããå¤ã¯ undefined ã¨ã¿ãªããã¾ã:
let [firstName, surname] = [];
alert(firstName); // undefined
alert(surname); // undefined
å¤ããªãã£ãå ´åã« âããã©ã«ãâ å¤ã使ããããã°ã= ã使ã£ã¦ããã©ã«ãå¤ãæå®ãããã¨ãã§ãã¾ã:
// ããã©ã«ãå¤
let [name = "Guest", surname = "Anonymous"] = ["Julius"];
alert(name); // Julius (é
åãã)
alert(surname); // Anonymous (ããã©ã«ãã使ç¨ããã¾ãã)
ããã©ã«ãå¤ã¯ããè¤éãªå¼ã颿°å¼ã³åºãã«ãããã¨ãã§ãã¾ãããããã¯å¤ãæä¾ãããªãã£ãã¨ãã®ã¿è©ä¾¡ããã¾ãã
ä¾ãã°ãããã§ã¯2ã¤ã®ããã©ã«ãã«å¯¾ã㦠prompt 颿°ã使ã£ã¦ãã¾ãããå¤ããªãã£ãå ´åã®ã¿å®è¡ããã¾ã:
// å§ã®ããã³ããã®ã¿ãå®è¡ãã
let [name = prompt('name?'), surname = prompt('surname?')] = ["Julius"];
alert(name); // Julius (é
åãã)
alert(surname); // ããã³ãããå¾ããã®
注æ: prompt ã¯å¤ããªãå ´åï¼surnameï¼ã«ã®ã¿å®è¡ããã¾ãã
ãªãã¸ã§ã¯ãã®éæ§é å
åå²ä»£å ¥ã¯ãªãã¸ã§ã¯ãã§ãåä½ãã¾ãã
åºæ¬ã®æ§æã¯æ¬¡ã®éãã§ã:
let {var1, var2} = {var1:â¦, var2â¦}
å³è¾ºã«ã¯ã夿°ã«åå²ãããæ¢åã®ãªãã¸ã§ã¯ããããã¾ãã左辺ã«ã¯è©²å½ããããããã£ã® âãã¿ã¼ã³â ãæå®ãã¾ããåç´ãªã±ã¼ã¹ã§ã¯ããã㯠{...} ã«å¤æ°åã並ã¹ããã®ã§ãã
ä¾:
let options = {
title: "Menu",
width: 100,
height: 200
};
let {title, width, height} = options;
alert(title); // Menu
alert(width); // 100
alert(height); // 200
ãããã㣠options.title, options.width 㨠options.height ã¯ã該å½ãã夿°ã«ä»£å
¥ããã¾ããé åºã¯é¢ä¿ããã¾ããã
é çªã¯é¢ä¿ããã¾ããããããåä½ãã¾ãã:
// let {...} å
ã®ããããã£é ãå¤ããå ´å
let {height, width, title} = { title: "Menu", height: 200, width: 100 }
左辺ã®ãã¿ã¼ã³ã¯ããè¤éã§ãããããã£ã¨å¤æ°ã®éã®ãããã³ã°ãæå®ãããã¨ãã§ãã¾ãã
ããããã£ãå¥ã®ååã®å¤æ°ã«ä»£å
¥ãããå ´åãä¾ãã°ãoptions.width ã夿°å w ã«ãããå ´åãã³ãã³ã使ããã¨ã§ã»ãããããã¨ãã§ãã¾ã:
let options = {
title: "Menu",
width: 100,
height: 200
};
// { å
ã®ããããã£: ã¿ã¼ã²ããã¨ãªã夿° }
let {width: w, height: h, title} = options;
// width -> w
// height -> h
// title -> title
alert(title); // Menu
alert(w); // 100
alert(h); // 200
ã³ãã³ã¯ âä½ã: ã©ãã«â ã示ãã¾ããä¸ã®ä¾ã§ã¯ããããã㣠width 㯠wã«ããããã㣠height 㯠h, title ã¯åãååã«ä»£å
¥ããã¾ãã
å¤ããªãå¯è½æ§ã®ããããããã£ã«ã¤ãã¦ã¯ã次ã®ããã« "=" ã使ã£ã¦ããã©ã«ãå¤ãè¨å®ã§ãã¾ã:
let options = {
title: "Menu"
};
let {width = 100, height = 200, title} = options;
alert(title); // Menu
alert(width); // 100
alert(height); // 200
é åã颿°ãã©ã¡ã¼ã¿ã®ããã«ãããã©ã«ãå¤ã¯ä»»æã®å¼ã¾ãã¯é¢æ°å¼ã³åºãã«ãããã¨ãã§ãã¾ãããããã¯å¤ããªãå ´åã«è©ä¾¡ããã¾ãã
ä¸ã®ã³ã¼ãã¯ã width ã¯ããã³ããã§å°ãããã¾ããã title ã¯èããã¾ããã
let options = {
title: "Menu"
};
let {width = prompt("width?"), title = prompt("title?")} = options;
alert(title); // Menu
alert(width); // (ããã³ããã®çµæ)
ã³ãã³ã¨çå·ã®ä¸¡æ¹ãçµã¿åããããã¨ãã§ãã¾ãã:
let options = {
title: "Menu"
};
let {width: w = 100, height: h = 200, title} = options;
alert(title); // Menu
alert(w); // 100
alert(h); // 200
å¤ãã®ããããã£ããã¤è¤éãªãªãã¸ã§ã¯ãããã£ãã¨ãã¦ããå¿ è¦ãªãã®ã ããæ½åºãããã¨ãã§ãã¾ã:
let options = {
title: "Menu",
width: 100,
height: 200
};
// title ã ã夿°ã¨ãã¦æ½åº
let { title } = options;
alert(title); // Menu
æ®ãã®ãã¿ã¼ã³ ââ¦â
ä»®ã«ãæå®ãã夿°ãããå¤ãã®ããããã£ããªãã¸ã§ã¯ãããã£ã¦ãããã©ããªãã§ãããããããã¤ãè¨å®ããå¾ãâæ®ãâ ãã©ããã«ã¾ã¨ãã¦ä»£å ¥ãããã¨ã¯ã§ããã§ããããï¼
é åã§ããã®ã¨åãããã«ãæ®ãã®ãã¿ã¼ã³ã使ç¨ãããã¨ãã§ãã¾ããããã¤ãã®å¤ããã©ã¦ã¶ï¼IEãpolyfill ããããã« Babel ã使ç¨ï¼ã§ã¯ãµãã¼ãããã¦ãã¾ããããã¢ãã³ãã©ã¦ã¶ã§ã¯åä½ãã¾ãã
ãã®ããã«ãªãã¾ã:
let options = {
title: "Menu",
height: 200,
width: 100
};
// title = title ã¨ååä»ããããããããã£
// rest = ãªãã¸ã§ã¯ãã®ããããã£ã®æ®ã
let {title, ...rest} = options;
// now title="Menu", rest={height: 200, width: 100}
alert(rest.height); // 200
alert(rest.width); // 100
letä¸ã®ä¾ã§ã夿°ã¯ä»£å
¥ã®ç´åã«å®£è¨ããã¦ãã¾ã: let {â¦} = {â¦}ããã¡ãã let ãªãã§æ¢åã®å¤æ°ã使ããã¨ãã§ãã¾ãããç½ ãããã¾ãã
ããã¯åä½ãã¾ãã:
let title, width, height;
// ãã®è¡ã¯ã¨ã©ã¼ã§ã
{title, width, height} = {title: "Menu", width: 200, height: 100};
åé¡ã¯ãJavaScriptãã¡ã¤ã³ã³ã¼ãããã¼ã® {...} ãã³ã¼ããããã¯ã¨ãã¦æ±ããã¨ã§ãããã®ãããªã³ã¼ããããã¯ã¯ã次ã®ããã«æãã°ã«ã¼ãåããããã«ä½¿ããã¾ãã
{
// a code block
let message = "Hello";
// ...
alert( message );
}
ãã®ãããããã§ã¯ JavaScript ã¯ã³ã¼ããããã¯ããããã¨ãåæã¨ãã¦ãã¾ãããããã£ã¦ã¨ã©ã¼ã«ãªãã¾ãããæ¬å½ã¯åå²ä»£å ¥ããããã§ãã
ã³ã¼ããããã¯ã§ã¯ãªã㨠JavaScript ã«ç¤ºãããã«ã¯ã代å
¥å
¨ä½ãæ¬å¼§ (...) ã§å²ãå¿
è¦ãããã¾ã:
let title, width, height;
// ããã§OKã§ã
({title, width, height} = {title: "Menu", width: 200, height: 100});
alert( title ); // Menu
å ¥ãåæ§é ã®éæ§é å
ãªãã¸ã§ã¯ãã¾ãã¯é åã«ä»ã®ãªãã¸ã§ã¯ããé åãå«ã¾ãã¦ããå ´åãããè¤éãªå·¦è¾ºã®ãã¿ã¼ã³ã使ç¨ãã¦ãããæ·±ãé¨åãæ½åºãããã¨ãã§ãã¾ãã
ä¸ã®ã³ã¼ãã§ã¯ãoptions ã¯ãããã㣠size ã®ä¸ã«å¥ã®ãªãã¸ã§ã¯ããæã£ã¦ããããããã㣠items ã«é
åãæã£ã¦ãã¾ããããã§ã代å
¥ãã左辺ã®ãã¿ã¼ã³ã¯åãæ§é ãæã£ã¦ãã¾ãã:
let options = {
size: {
width: 100,
height: 200
},
items: ["Cake", "Donut"],
extra: true
};
// ããããããããããã«ãè¤æ°ã®è¡ã§ã®åå²ä»£å
¥
let {
size: { // ããã«ãµã¤ãºãæ ¼ç´
width,
height
},
items: [item1, item2], // ããã« items ãå²ãå½ã¦ã
title = "Menu" // ãªãã¸ã§ã¯ãã«ã¯åå¨ããªã (ããã©ã«ãå¤ã使ããã¾ã)
} = options;
alert(title); // Menu
alert(width); // 100
alert(height); // 200
alert(item1); // Cake
alert(item2); // Donut
左辺ã§è¨åããã¦ããªãã£ã extra ãé¤ãã options ãªãã¸ã§ã¯ãå
¨ä½ã該å½ãã夿°ã«ä»£å
¥ããã¾ãã
æçµçã«ã¯ãwidth, height, item1, item2 ã¨ãããã©ã«ãå¤ãã title ãå¾ã¾ãã
代ããã«ä¸èº«ãåå¾ãã¦ããã®ã§ãsize 㨠items ã®å¤æ°ã¯ãªããã¨ã«æ³¨æãã¦ãã ããã
ã¹ãã¼ããªé¢æ°ãã©ã¡ã¼ã¿
ãã颿°ãå¤ãã®ãã©ã¡ã¼ã¿ãæã£ã¦ãããã»ã©ãã©ããªãã·ã§ã³ã§ãããã¨ãããã¾ããç¹ã«ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ã®ã¨ãã«å½ã¦ã¯ã¾ãã¾ããã¡ãã¥ã¼ãä½ã颿°ãæ³åãã¦ã¿ã¦ãã ãããå¹ ã¨é«ããã¿ã¤ãã«ãã¢ã¤ãã ã®ãªã¹ããªã©ãæã£ã¦ãã¾ãã
ããã«ãè¯ããªã颿°ã®æ¸ãæ¹ãããã¾ã:
function showMenu(title = "Untitled", width = 200, height = 100, items = []) {
// ...
}
ç¾å®ã®åé¡ã®1ã¤ã¯ãã©ããã£ã¦å¼æ°ã®é çªãè¦ããããã§ããã³ã¼ãããã£ããããã¥ã¡ã³ãåããã¦ããã°ãé常㯠IDE ãå©ãã¦ããã¾ããããããä»ã«ãåé¡ãããã¾ããã»ã¨ãã©ã®ãã©ã¡ã¼ã¿ãããã©ã«ãã§OKã®å ´åã®é¢æ°ã®å¼ã³æ¹ã§ãã
ãããªãã¾ãã?
// ããã©ã«ãå¤ã§è¯ãå ´å㯠undefined ã«ãã
showMenu("My Menu", undefined, undefined, ["Item1", "Item2"])
ããã¯è¦ã«ãããããå¤ãã®ãã©ã¡ã¼ã¿ãæ±ãå ´åãé常ã«èªã¿ã«ããã§ãã
ãã®ãããªã±ã¼ã¹ã§éæ§é åãå½¹ã«ç«ã¡ã¾ã!
ãªãã¨ã¸ã§ã¯ãã¨ãã¦ãã©ã¡ã¼ã¿ã渡ãã颿°ã¯ãããã夿°ã«åè§£ãã¾ã:
// ãªãã¸ã§ã¯ãã颿°ã«æ¸¡ã
let options = {
title: "My menu",
items: ["Item1", "Item2"]
};
// ...ããã¦ããã«å¤æ°ã«å±éãã¾ã
function showMenu({title = "Untitled", width = 200, height = 100, items = []}) {
// title, items â options ããåå¾,
// width, height â ããã©ã«ãå¤ãå©ç¨
alert( `${title} ${width} ${height}` ); // My Menu 200 100
alert( items ); // Item1, Item2
}
showMenu(options);
ã¾ããå ¥ãåã®ãªãã¸ã§ã¯ããã³ãã³ã®ãããã³ã°ä½¿ã£ãè¤éãªéæ§é åã使ããã¨ãã§ãã¾ã:
let options = {
title: "My menu",
items: ["Item1", "Item2"]
};
function showMenu({
title = "Untitled",
width: w = 100, // width 㯠w ã«
height: h = 200, // height 㯠h ã«
items: [item1, item2] // items ã®æåã®è¦ç´ 㯠item1 ã¸ã次㯠item2 ã¸
}) {
alert( `${title} ${w} ${h}` ); // My Menu 100 200
alert( item1 ); // Item1
alert( item2 ); // Item2
}
showMenu(options);
æ§æã¯åå²ä»£å ¥ã¨åãã§ã:
function({
incomingProperty: varName = defaultValue
...
})
ãã©ã¡ã¼ã¿ã®ãªãã¸ã§ã¯ãã«å¯¾ãã¦ããããã㣠incomingProperty ã«å¯¾å¿ãã夿° varName ããããããã©ã«ãã§ã¯ defaultValue ã«ãªãã¾ãã
ãªãããã®ãããªåå²ä»£å
¥ã¯ showMenu() ã«å¼æ°ããããã¨ãåæã«ãã¦ããç¹ã«æ³¨æãã¦ãã ããããããã¹ã¦ã®å¤ãããã©ã«ãã«ãããå ´åã«ã¯ã空ã®ãªãã¸ã§ã¯ããæå®ããå¿
è¦ãããã¾ã:
showMenu({}); // OK, ãã¹ã¦ã®å¤ã¯ããã©ã«ãå¤ã«ãªãã¾ã
showMenu(); // ããã¯ã¨ã©ã¼ã«ãªãã¾ã
ããã«ã¤ãã¦ã¯ãéæ§é å対象å
¨ä½ã®ããã©ã«ãå¤ã« {} ãæå®ãããã¨ã§å¯¾å¿ãããã¨ãã§ãã¾ã:
function showMenu({ title = "Menu", width = 100, height = 200 } = {}) {
alert( `${title} ${width} ${height}` );
}
showMenu(); // Menu 100 200
ä¸ã®ã³ã¼ãã§ã¯ãå
¨ä½ã®å¼æ°ãªãã¸ã§ã¯ããããã©ã«ãã§ {} ãªã®ã§å¸¸ã«åè§£ããä½ããããã¾ãã
ãµããª
-
åå²ä»£å ¥ã¯ãªãã¸ã§ã¯ããé åã夿°ã®å¤æ°ã«å³åº§ã«ãããã³ã°ãããã¨ãã§ãã¾ãã
-
ãªãã¸ã§ã¯ãæ§æ:
let {prop : varName = default, ...rest} = objectããã¯ããããã£
propã夿°varNameã«ä»£å ¥ããããããã®ãããªããããã£ãåå¨ããªãå ´åã«ã¯defaultã使ããããã¨ãæå³ãã¾ãããããã³ã°ããªããªãã¸ã§ã¯ãããããã£ã¯ã
restãªãã¸ã§ã¯ãã¸ã³ãã¼ããã¾ãã -
é åæ§æ:
let [item1 = default, item2, ...rest] = arrayæåã®ã¢ã¤ãã ã¯
item1ã«è¡ãã2ã¤ç®ã¯item2ã«è¡ãã¾ããæ®ãã®ãã¹ã¦ã®ã¢ã¤ãã ã¯é årestã«ãªãã¾ãã -
ãã¹ããããé å/ãªãã¸ã§ã¯ããããã¼ã¿ãæ½åºãããã¨ãå¯è½ã§ããã®å ´åã左辺ã¯å³è¾ºã¨åãæ§é ãæå®ããå¿ è¦ãããã¾ãã
ã³ã¡ã³ã
<code>ã¿ã°ã使ã£ã¦ãã ãããè¤æ°è¡ã®å ´åã¯<pre>ãã10è¡ãè¶ ããå ´åã«ã¯ãµã³ãããã¯ã¹ã使ã£ã¦ãã ãã(plnkr, JSBin, codepenâ¦)ã