JavaScriptã®ãã€ãã©ã€ã³æŒç®åãæ¢æ±ã颿°ãåæããã³ãŒãã®å¯èªæ§ãé«ãã颿°ãã§ãŒã³ãæé©åãã匷åãªããŒã«ã§ããã°ããŒãã«ãªå©çšãæ³å®ããããã¯ãªãŒã³ã§ä¿å®æ§ã®é«ãã³ãŒãã广çã«é©çšããæ¹æ³ãåŠã³ãŸãã
JavaScriptãã€ãã©ã€ã³æŒç®åã«ããåæïŒé¢æ°ãã§ãŒã³ã®æé©åãæ¥µãã
çµ¶ããé²åããJavaScriptéçºã®äžçã§ã¯ãã¯ãªãŒã³ã§ä¿å®æ§ãé«ããå¹ççãªã³ãŒããæžãããšãæãéèŠã§ããçŸåšTC39ããã»ã¹ã§ã¹ããŒãž3ã«ããææ¡äžã®æ©èœã§ããJavaScriptãã€ãã©ã€ã³æŒç®åïŒ `|>` ïŒã¯ã颿°åæã«ãããŠå€§ããªé£èºããããããè€éãªæäœãåçåããã³ãŒãã®å¯èªæ§ãåäžãããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ããã€ãã©ã€ã³æŒç®åã®è€éããæãäžãããã®å©ç¹ã瀺ããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«åãã颿°ãã§ãŒã³ã®æé©åããã¹ã¿ãŒããããã®å®è·µçãªäŸãæäŸããŸãã
JavaScriptãã€ãã©ã€ã³æŒç®åãšã¯ïŒ
ãã€ãã©ã€ã³æŒç®åïŒ `|>` ïŒã¯ãåŒã®è©äŸ¡çµæã颿°ã®æåã®åŒæ°ãšããŠæž¡ãããã®ç°¡æœãªæ§æãæäŸããŸããããã«ãããUnixã®ãã€ãã®ããã«ã颿°ãå·Šããå³ãžãšå¹æçã«é£çµã§ããŸãããã®ã¢ãããŒãã¯ãæ·±ããã¹ãããã颿°åŒã³åºãã«ä»£ãããããèªã¿ãããçŽæçãªæ¹æ³ãæäŸããã³ãŒãã®çè§£ãšä¿å®ã容æã«ããŸãã
ç°¡åãªäŸãèããŠã¿ãŸãããïŒ
ãã€ãã©ã€ã³æŒç®åãªãã®å ŽåïŒ
const result = myFunction(anotherFunction(someValue));
ãã€ãã©ã€ã³æŒç®åããã®å ŽåïŒ
someValue |> anotherFunction |> myFunction;
åŸè ã®æ¹ããããŒã¿ã®æµããæç¢ºã«ç€ºããŠããããã远ããããããšãå€ãã§ããããã«ãããã³ãŒããçè§£ããããã«å¿ èŠãªã¡ã³ã¿ã«ã¢ãã«ãåçŽåãããç°ãªãã¿ã€ã ãŸãŒã³ãæåçèæ¯ãæã€ã°ããŒãã«ããŒã ã«ãšã£ãŠæ¥µããŠéèŠã§ãã
ãã€ãã©ã€ã³æŒç®åã䜿çšããå©ç¹
ãã€ãã©ã€ã³æŒç®åãæ¡çšããããšã«ã¯ãããã€ãã®é åçãªå©ç¹ããããŸãïŒ
- å¯èªæ§ã®åäžïŒ ããŒã¿ãå·Šããå³ãžæµãããããç¹ã«è€éãªé¢æ°ãã§ãŒã³ãæ±ãå Žåã«å®è¡ãã¹ã远ãããããªããŸãããã®æç¢ºãã¯ãæ§ã ãªå°åãã¹ãã«ã¬ãã«ã®éçºè ã«å©çããããããŸãã
- ä¿å®æ§ã®åäžïŒ 颿°åŒã³åºãã®æ§é ãåçŽåããããšã§ããã€ãã©ã€ã³æŒç®åã¯ã³ãŒãã®ä¿®æ£ããããã°ã容æã«ããŸããããã¯ãã©ã€ããµã€ã¯ã«ãé·ãã倿§ãªè²¢ç®è ããããããžã§ã¯ãã«ãšã£ãŠéèŠã§ãã
- ãã¹ãã®åæžïŒ æ·±ããã¹ãããã颿°åŒã³åºãã¯ãèªãã§çè§£ããã®ãé£ããããšããããŸãããã€ãã©ã€ã³æŒç®åã¯ãã®ãããªãã¹ãã®å¿ èŠæ§ããªãããã³ãŒããããã¯ãªãŒã³ã§ç°¡æœã«ããŸããããã«ãããããŒã ã¡ã³ããŒã®å°ççãªå Žæã«é¢ä¿ãªããããŒã ã®ã³ã©ãã¬ãŒã·ã§ã³ãåäžããŸãã
- ã³ãŒãå¹çã®åäžïŒæœåšçïŒïŒ å Žåã«ãã£ãŠã¯ããã€ãã©ã€ã³æŒç®åãJavaScriptãšã³ãžã³ã«ãšã£ãŠããè¯ãæé©åã®æ©äŒãå¯èœã«ããããã©ãŒãã³ã¹ã®åäžã«ã€ãªããå¯èœæ§ããããŸããããã¯ãããã©ãŒãã³ã¹ãéèŠãªã°ããŒãã«ãªã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠç¹ã«äŸ¡å€ããããŸãã
- 颿°åããã°ã©ãã³ã°ãã©ãã€ã ãšã®æŽåæ§ïŒ ãã€ãã©ã€ã³æŒç®åã¯ãäžå€æ§ã颿°åæãéèŠãã颿°åããã°ã©ãã³ã°ã®ååãšããåèŽããŸãããã®ãã©ãã€ã ãåãå ¥ããããšã§ãã³ãŒãã®å質ãšãã¹ãå®¹ææ§ãåäžããŸããããã¯ãåœéçãªãœãããŠã§ã¢éçºæ¹æ³è«ã«ãããŠãŸããŸãéèŠã«ãªã£ãŠããŸãã
å®è·µäŸïŒé¢æ°ãã§ãŒã³ã®æé©å
ãã€ãã©ã€ã³æŒç®åã颿°ãã§ãŒã³ãã©ã®ããã«æé©åã§ããããå®è·µçãªäŸãèŠãŠãããŸãããïŒ
äŸ1ïŒããŒã¿å€æ
æ°å€ã®é åããããäžé£ã®å€æïŒåæ°å€ã2ä¹ããå¶æ°ãé€å€ãããã®åèšãèšç®ããïŒãå®è¡ããå¿ èŠããããšããŸãã
ãã€ãã©ã€ã³æŒç®åãªãã®å ŽåïŒ
const numbers = [1, 2, 3, 4, 5];
const sum = numbers
.map(x => x * x)
.filter(x => x % 2 !== 0)
.reduce((acc, x) => acc + x, 0);
console.log(sum); // Output: 35
ãã€ãã©ã€ã³æŒç®åããã®å ŽåïŒ
const numbers = [1, 2, 3, 4, 5];
const sum = numbers
|> (arr => arr.map(x => x * x))
|> (arr => arr.filter(x => x % 2 !== 0))
|> (arr => arr.reduce((acc, x) => acc + x, 0));
console.log(sum); // Output: 35
é åã¡ãœããã䜿çšããäŸã¯æ¢ã«æ¯èŒçæç¢ºã§ããããã€ãã©ã€ã³æŒç®åã¯ãç¹ã«å€ãã®å€æãããã·ããªãªã§ãæäœã®æµããããæç€ºçã«ããããšãã§ããŸããã°ããŒãã«ããŒã ã¯ããã®ã·ã³ãã«ãªæ§é ããæ©æµãåããŸãã
äŸ2ïŒæååæäœ
ãŠãŒã¶ãŒã®ååããã©ãŒãããããããã«ãæåã®æåã倧æåã«ããæšæ¶æã远å ããå¿ èŠããããšããŸããåœéçãªãªãŒãã£ãšã³ã¹ãèæ ®ãããã®äŸã¯æåçãªåœåèŠåãšã¯ç¡é¢ä¿ãªãäžè¬çãªæååæäœã«çŠç¹ãåœãŠãŠããŸãã
ãã€ãã©ã€ã³æŒç®åãªãã®å ŽåïŒ
const userName = 'john doe';
const greeting = 'Hello, ';
const formattedName = greeting + userName.charAt(0).toUpperCase() + userName.slice(1);
console.log(formattedName); // Output: Hello, John doe
ãã€ãã©ã€ã³æŒç®åããã®å ŽåïŒ
const userName = 'john doe';
const greeting = 'Hello, ';
const formattedName = userName
|> (name => name.charAt(0).toUpperCase() + name.slice(1))
|> (name => greeting + name);
console.log(formattedName); // Output: Hello, John doe
ãã€ãã©ã€ã³æŒç®åã¯ãç¹ã«ããè€éãªãã©ãŒãããããžãã¯ãé¢ããå Žåã«ãããã»ã¹ãããèªã¿ãããããŸããããã¯ãæ§ã ãªããã¯ã°ã©ãŠã³ããæã€éçºè ãã³ãŒããããç°¡åã«çè§£ããä¿®æ£ããã®ã«åœ¹ç«ã¡ãŸãã
äŸ3ïŒããŒã¿ååŸãšåŠçïŒã·ãã¥ã¬ãŒã·ã§ã³ïŒ
ããã¯APIããããŒã¿ãååŸãããããåŠçããŠè¡šç€ºããã·ãã¥ã¬ãŒã·ã§ã³ã§ããã°ããŒãã«ãªeã³ããŒã¹ãã©ãããã©ãŒã ãæ³å®ããŠãããããŒã¿åŠçã¯äžå€®ã§è¡ãããŸãããçµæã¯å€æ§ãªèšèªã圢åŒã§è¡šç€ºãããŸããããã¯ç°¡ç¥åãããå³è§£ã§ãããå®éã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããè€éãªãšã©ãŒãã³ããªã³ã°ãããŒã¿å€æãå«ãŸããã§ãããã
ãã€ãã©ã€ã³æŒç®åãªãã®å ŽåïŒ
async function fetchData() {
const data = await fetch('https://api.example.com/data');
const jsonData = await data.json();
const processedData = processData(jsonData);
const displayData = display(processedData);
console.log(displayData);
}
function processData(data) {
// Simulate processing
return data.map(item => ({ ...item, price: item.price * 1.2 }));
}
function display(data) {
// Simulate displaying data
return data.map(item => `Product: ${item.name}, Price: $${item.price.toFixed(2)}`);
}
fetchData();
ãã€ãã©ã€ã³æŒç®åããã®å ŽåïŒ
async function fetchData() {
const data = await fetch('https://api.example.com/data');
const jsonData = await data.json();
const displayData = jsonData
|> processData
|> display;
console.log(displayData);
}
function processData(data) {
// Simulate processing
return data.map(item => ({ ...item, price: item.price * 1.2 }));
}
function display(data) {
// Simulate displaying data
return data.map(item => `Product: ${item.name}, Price: $${item.price.toFixed(2)}`);
}
fetchData();
ããã¯ããã€ãã©ã€ã³æŒç®åãéåææäœã®å¯èªæ§ãã©ã®ããã«åäžããããã瀺ããŠããŸãã`processData`ãš`display`颿°ã¯ãå¥ã ã®ãã€ã¯ããµãŒãã¹ã«ãã£ãŠå®è¡ãããã¿ã¹ã¯ã衚ãããšãã§ããã°ããŒãã«ã«å±éãããã¢ããªã±ãŒã·ã§ã³ã§äžè¬çãªåæ£ã·ã¹ãã ã®åçåã«ãããæŒç®åã®å¯èœæ§ã瀺ããŠããŸããããã¯ãªãŒã³ãªã³ãŒãã¯ãäžçäžã§äœ¿çšãããå€éšãµãŒãã¹ãšã®çµ±åãç¶æããããããŸãã
ãã€ãã©ã€ã³æŒç®åã®å®è£ ïŒãã€ãã©ã®ããã«ïŒ
ãã€ãã©ã€ã³æŒç®åã¯ãŸã ææ¡äžã®æ©èœã§ããããããã¹ãŠã®JavaScriptç°å¢ã§çŽæ¥äœ¿çšããããšã¯ã§ããŸãããããããããã€ãã®éžæè¢ããããŸãïŒ
- ãã©ã³ã¹ãã€ã©ïŒäŸïŒBabelïŒïŒ Babelã®ãããªãã©ã³ã¹ãã€ã©ã䜿çšããŠããã€ãã©ã€ã³æŒç®åãå«ãã³ãŒãããå€ããã©ãŠã¶ãJavaScriptãšã³ãžã³ãçè§£ã§ããã³ãŒãã«å€æããŸããããã¯æ¬çªç°å¢ã§æãäžè¬çãªã¢ãããŒãã§ãããäžçäžã®æ§ã ãªããã€ã¹ããã©ãããã©ãŒã ã§ã®äºææ§ã確ä¿ããŸãã
- ãã«ãããŒã«ïŒ WebpackãParcelãªã©ã®ããŒã«ã䜿çšããŠããã«ãããã»ã¹ã«ãã€ãã©ã€ã³æŒç®åã®ãµããŒããçµ±åããŸããããã«ãããéçºäžããã³ãããã€æã«æŒç®åãã·ãŒã ã¬ã¹ã«äœ¿çšã§ããŸãã
- ãµããŒããããŠããç°å¢ã§ã®å®éšïŒ ç¹å®ã®ãã©ã°ãæã€Node.jsãªã©ãäžéšã®æ°ããJavaScriptç°å¢ã§ã¯ããã©ã³ã¹ãã€ã©ãå¿ èŠãšããã«ãã€ãã©ã€ã³æŒç®åãçŽæ¥ãµããŒãããŠããå Žåãããããã¹ããå®éšãå¯èœã§ãã
Babelã䜿ãå§ããã«ã¯ãéåžžæ¬¡ã®æé ãå®è¡ããŸãïŒ
- Babelãšãã€ãã©ã€ã³æŒç®åãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããŸãïŒ
npm install --save-dev @babel/core @babel/cli @babel/plugin-proposal-pipeline-operator - Babelãèšå®ããŸãïŒäŸïŒ `.babelrc.json` ãã¡ã€ã«å ïŒïŒ
- Babelãå®è¡ããŠã³ãŒãããã©ã³ã¹ãã€ã«ããŸãã
{
"plugins": ["@babel/plugin-proposal-pipeline-operator", { "proposal": "minimal" }]
}
ãã®ããã»ã¹ã«ãããäžçäžã®éçºè ãææ°ã®JavaScriptæ©èœã䜿çšããªããã倿§ãªãã©ãŠã¶ãç°å¢ãšã®äºææ§ã確ä¿ã§ããŸãã
ãã€ãã©ã€ã³æŒç®åã®é«åºŠãªãã¯ããã¯
åºæ¬çãªãŠãŒã¹ã±ãŒã¹ãè¶ ããŠããã€ãã©ã€ã³æŒç®åã¯è¿œå æ©èœãæäŸããŸãïŒ
ãã¬ãŒã¹ãã«ããŒæ§æ
ãã€ãã©ã€ã³æŒç®åã¯ãããã©ã«ãã§åã®åŒã®çµæã次ã®é¢æ°ã®æåã®åŒæ°ãšããŠæž¡ããŸãããããããã¬ãŒã¹ãã«ããŒïŒ#ïŒã䜿çšããŠãå€ã颿°ã®åŒæ°ãªã¹ãã®ã©ãã«æ¿å
¥ãããããå¶åŸ¡ã§ããŸããããã«ãããè€éãªé¢æ°åæã«æè»æ§ãå ãããŸãã
äŸïŒ
const add = (a, b) => a + b;
const result = 5 |> add(1, #);
console.log(result); // Output: 6
ãã®äŸã§ã¯ã`#`ãã¬ãŒã¹ãã«ããŒã®äœçœ®ã«ããã`5`ã`add`颿°ã®ç¬¬2åŒæ°ãšããŠæž¡ãããŸããããã«ãããã°ããŒãã«ãªéçºããŒã ã«ãšã£ãŠãããé«åºŠãªå¶åŸ¡ãå¯èœã«ãªããŸãã
ãã€ãã©ã€ã³æŒç®åã«ããéšåé©çš
ãã¬ãŒã¹ãã«ããŒãšãã€ãã©ã€ã³æŒç®åã®çµã¿åããã¯ãéšåé©çšã容æã«ããããšãã§ããŸããããã¯ãåå©çšå¯èœã§åæå¯èœãªé¢æ°ãäœæããã®ã«æçã§ãããŸããåé·æ§ãæžããããšã«ããªããããã¯ç¹ã«å€§èŠæš¡ãªã³ãŒãããŒã¹ã倿§ãªããŒã ãæ±ãåœéçãªéçºã«ãããŠéèŠãªåŽé¢ã§ãã
äŸïŒ
const multiplyBy = (factor, num) => factor * num;
const double = multiplyBy(2, #);
const result = 10 |> double;
console.log(result); // Output: 20
ããã§ã`double`ã¯ä»»æã®å ¥åã2åã«ããéšåé©çšããã颿°ã§ããããã€ãã©ã€ã³æŒç®åã颿°åããã°ã©ãã³ã°ã®ååãã°ããŒãã«ã«æšé²ããæ¹æ³ã瀺ããŠããŸãã
ãã€ãã©ã€ã³æŒç®åã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
ãã€ãã©ã€ã³æŒç®åã广çã«å©çšãããã®å©ç¹ãæå€§éã«åŒãåºãããã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãèæ ®ããŠãã ããïŒ
- å¯èªæ§ãåªå ããïŒ äž»ãªç®æšã¯å¯èªæ§ã®åäžã§ãããã€ãã©ã€ã³æŒç®åãã³ãŒãã®æç¢ºããé«ããããã«ããŠãã ãããæ·±ããã¹ããããåŒããªãã¡ã¯ã¿ãªã³ã°ããŠããã®å©ç¹ã掻çšããŸãããã
- ãã§ãŒã³ã®é·ããå¶éããïŒ é床ã«é·ã颿°ãã§ãŒã³ã¯é¿ããŠãã ããããã€ãã©ã€ã³æŒç®åã¯ãã¹ããããåŒã³åºãã«æ¯ã¹ãŠå¯èªæ§ãåäžãããŸãããé·ããããã§ãŒã³ã¯ç®¡çãé£ãããªãå¯èœæ§ããããŸããè€éãªæäœã¯ãããå°ãã管çãããã颿°ã«åå²ããŸããããããã¯å€æ§ãªã¹ãã«ã»ãããæã€ããŒã ã«ãšã£ãŠäžå¯æ¬ ã§ãã
- æå³ã®ãã颿°åã䜿çšããïŒ ãã€ãã©ã€ã³ã®åã¹ãããã®ç®çãæç¢ºã«ããããã«ã説æçã§æå³ã®ãã颿°åã䜿çšããŠãã ãããè¯ãåœåèŠåã¯ãæåãèšèªãè¶ ããä¿å®æ§ã®åºæ¬ã§ãã
- ãšã©ãŒãã³ããªã³ã°ãèæ ®ããïŒ éåææäœããšã©ãŒãçºçãããã颿°ãæ±ãå Žåã¯ãé©åãªãšã©ãŒãã³ããªã³ã°ã¡ã«ããºã ãå®è£ ããŠãã ãããããã«ã¯ãtry/catchãããã¯ããã€ãã©ã€ã³å ã§ã®ãšã©ãŒäŒæãå«ãŸããå ŽåããããŸããå ç¢ãªãšã©ãŒãã³ããªã³ã°ã¯ãã°ããŒãã«ã·ã¹ãã ã®ä¿¡é Œæ§ã«ãšã£ãŠäžå¯æ¬ ã§ãã
- ã³ãŒããææžåããïŒ ãã€ãã©ã€ã³æäœãææžåããåã¹ãããã®ç®çãšããŒã¿å šäœã®æµãã説æããŠãã ãããããã¯ãä»ã®éçºè ãããªãã®ã³ãŒããçè§£ããä¿å®ããã®ã«åœ¹ç«ã¡ãŸããç¹ã«ããªãŒãã³ãœãŒã¹ãããžã§ã¯ããç°ãªãããã¯ã°ã©ãŠã³ããæã€éçºè ãããå€§äŒæ¥ã§ã¯éèŠã§ãã
- äžè²«ãããã©ãŒãããïŒ äžè²«ãããã©ãŒãããã«ãŒã«ïŒäŸïŒã€ã³ãã³ããæ¹è¡ïŒãæ¡çšããŠå¯èªæ§ãé«ããæ§ã ãªå°åã®éçºè ãã³ãŒãäžã§å¹æçã«ååããããããŸãã
å®äžçã®ãŠãŒã¹ã±ãŒã¹ãšã°ããŒãã«ãªå¿çš
JavaScriptãã€ãã©ã€ã³æŒç®åã¯ãç¹ã«ããŒã¿å€æãè€éãªã¯ãŒã¯ãããŒãå¿ èŠãšããæ§ã ãªã·ããªãªã§é©çšã§ããŸãïŒ
- ããŒã¿åŠçãã€ãã©ã€ã³ïŒ ããŒã¿åæãæ©æ¢°åŠç¿ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããã€ãã©ã€ã³æŒç®åã¯è€éãªããŒã¿å€æãåçåã§ããŸããäŸãã°ãã°ããŒãã«ãªä¿éºäŒç€Ÿããªã¹ã¯è©äŸ¡ã®ããã«é¡§å®¢ããŒã¿ãåŠçããå Žåãæ³åããŠã¿ãŠãã ããããã®æŒç®åã«ãããã¯ãªãŒã³ã§çè§£ãããããããŒãå¯èœã«ãªããåœéçãªãªãã£ã¹ã«ããããŒã¿ãµã€ãšã³ãã£ã¹ãã®åŠçã¹ããããç°¡çŽ åãããŸãã
- APIã¬ã¹ãã³ã¹ã®åŠçïŒ APIãæ±ãéããã€ãã©ã€ã³æŒç®åã¯ã¬ã¹ãã³ã¹ã®åŠçãç°¡çŽ åã§ããŸãããŠãŒã¶ãŒã®å°åã«å¿ããŠAPIã¬ã¹ãã³ã¹ãç°ãªã圢åŒã«ãã©ãŒãããããå¿ èŠãããå€åœç±eã³ããŒã¹ãã©ãããã©ãŒã ãèããŠã¿ãŠãã ããããã€ãã©ã€ã³æŒç®åã䜿ãã°ããã®ããã»ã¹ãç¶æã»æŽæ°ãããããªããŸãã
- UIç¶æ 管çïŒ ããã³ããšã³ãéçºãç¹ã«ReduxãZustandã®ãããªç¶æ 管çã©ã€ãã©ãªãæ±ãå Žåããã€ãã©ã€ã³æŒç®åã¯ããŒã¿å€æã®å¯èªæ§ãšä¿å®æ§ãåäžãããããšãã§ããŸããããã¯ãç°ãªãèšèªãåœã§ã®UI/UXã®äžè²«æ§ã«ãšã£ãŠäžå¯æ¬ ã§ãã
- ããã«ãŠã§ã¢ãšãã©ã°ã€ã³ïŒ Node.jsãµãŒããŒã®ããã«ãŠã§ã¢ãæ§ã ãªãã¬ãŒã ã¯ãŒã¯ã®ãã©ã°ã€ã³ãäœæããéããã€ãã©ã€ã³æŒç®åã¯è€æ°ã®æäœãé£éãããããšãã§ããŸããã°ããŒãã«ã«å±éãããWebã¢ããªã±ãŒã·ã§ã³çšã®ã»ãã¥ãªãã£éèŠã®ãã©ã°ã€ã³éçºãèããŠã¿ãŠãã ãããã»ãã¥ãªãã£ããªã·ãŒã®èšå®ãç£æ»ã容æã«ãªããŸãã
èæ ®äºé ãšæœåšçãªæ¬ ç¹
ãã€ãã©ã€ã³æŒç®åã¯å€§ããªå©ç¹ãæäŸããŸããã以äžã®ç¹ãèæ ®ããŠãã ããïŒ
- ãã©ãŠã¶ã®äºææ§ïŒ ãã€ãã©ã€ã³æŒç®åã¯ãŸã æšæºæ©èœã§ã¯ãªããããBabelã®ãããªãã©ã³ã¹ãã€ã©ã䜿çšããå¿ èŠããããŸãããã«ãããã»ã¹ããã€ãã©ã€ã³æŒç®åãæ£ããåŠçããããã«èšå®ãããŠããããšã確èªããŠãã ãããããã¯ã°ããŒãã«ãªWebã¢ããªã±ãŒã·ã§ã³ã«ã¯å¿ é ã§ãã
- åŠç¿æ²ç·ïŒ ãã®æ§æã«æ £ããŠããªãéçºè ã«ãšã£ãŠã¯ãè¥å¹²ã®åŠç¿æ²ç·ããããŸããããŒã ã«é©åãªãã¬ãŒãã³ã°ãšããã¥ã¡ã³ããæäŸããŠãã ããã
- éå°ãªäœ¿çšïŒ ãã€ãã©ã€ã³æŒç®åã®äœ¿ãããã¯é¿ããŠãã ããããã§ãŒã³ãé·ããããè€éãããããããšãããã£ãŠå¯èªæ§ãæãªãå¯èœæ§ããããŸããç®çã¯è€éãªã¯ãŒã¯ãããŒã®çè§£ãåäžãããããšã§ãã
- ããã©ãŒãã³ã¹ïŒ ãã€ãã©ã€ã³æŒç®åã¯ç¹å®ã®ãã¿ãŒã³ãæé©åããå¯èœæ§ããããŸããããã®åœ±é¿ã確èªããããã«åžžã«ã³ãŒãã®ãããã¡ã€ãªã³ã°ãè¡ã£ãŠãã ãããã»ãšãã©ã®å Žåãããã©ãŒãã³ã¹ã®éãã¯ãããããã§ãããå©çã¯å¯èªæ§ã«ãããŸãã
ãã€ãã©ã€ã³æŒç®åã®æªæ¥
ãã€ãã©ã€ã³æŒç®åã¯ãJavaScriptã³ãã¥ããã£å ã§å¢ããå¢ããŠããŸããTC39ããã»ã¹ãé²ãã«ã€ããŠãæ§ã ãªJavaScriptç°å¢ã§ã®ãµããŒããå¢ããããšãæåŸ ãããŸãããŸããŸãå€ãã®éçºè ããã®æŒç®åãæ¡çšããŠããããã®äœ¿çšã¯JavaScriptéçºã«ãããæšæºçãªæ £è¡ã«ãªãå¯èœæ§ããããŸããéçºã¯ã°ããŒãã«ã«é²ãã§ãããäžçäžããè²¢ç®ãå¯ããããŠããŸããããã¯ãç¶ç¶çãªæ¹åãæå³ããŸãã
çµè«
JavaScriptãã€ãã©ã€ã³æŒç®åã¯ãã³ãŒãã®å¯èªæ§ãä¿å®æ§ãå¹çãåäžãããããã®è²ŽéãªããŒã«ã§ãããã®æ©èœãåãå ¥ããããšã§ãç¹ã«è€éãªé¢æ°ãã§ãŒã³ãæ±ãå Žåã«ãããã¯ãªãŒã³ã§è¡šçŸåè±ããªJavaScriptãæžãããšãã§ããŸãããã®ã¬ã€ãã§ã¯ããã€ãã©ã€ã³æŒç®åã®è©³çްãªçè§£ãæäŸããã°ããŒãã«ãªéçºè ã«é©ããäŸãçšããŠãã®å©ç¹ãšå®è·µçãªå¿çšã瀺ããŸããããã®æ©èœãæçããã«ã€ããŠããã€ãã©ã€ã³æŒç®åãã¯ãŒã¯ãããŒã«çµ±åããããšã¯ãäžçäžã®éçºè ã®ã³ãŒãå質ãšããŒã ã®çç£æ§ãå€§å¹ ã«åäžãããããšãã§ããŸãããã®äœ¿ãããããšå¯èªæ§ã¯ãæ§ã ãªåœãã¿ã€ã ãŸãŒã³ã§åãããŒã ã«å ·äœçãªå©çããããããŸããããå ç¢ã§æç¶å¯èœãªã³ãŒãããŒã¹ãæ§ç¯ããããã«ããã®æè¡ãåãå ¥ããŸãããã
åºç€ãçè§£ããå®è·µçãªäŸãæ¢æ±ãããã¹ããã©ã¯ãã£ã¹ãéµå®ããããšã§ããã€ãã©ã€ã³æŒç®åã®åãæŽ»çšããJavaScriptéçºã®é²åã«è²¢ç®ããããšãã§ããŸãããã€ãã©ã€ã³æŒç®åã¯ãã°ããŒãã«ãªåœ±é¿åãæã€çŸä»£çãªããŒã«ã§ãã