JavaScriptã®é²åãããã¿ãŒã³ãããã³ã°ã®ç¶æ³ãæ·±ãæãäžããæ§é çåå²ä»£å ¥ã®ææ¡ããã®å©ç¹ããŠãŒã¹ã±ãŒã¹ãã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãžã®åœ±é¿ã«çŠç¹ãåœãŠãŸãã
JavaScriptã®ãã¿ãŒã³ãããã³ã°ïŒæ§é çåå²ä»£å ¥ã®ææ¡ãæ¢ã
JavaScriptã¯åçã§æ±çšæ§ã®é«ãèšèªã§ããããããŸã§ScalaãHaskellãRustãªã©ã®èšèªã«èŠãããå ç¢ãªçµã¿èŸŒã¿ã®ãã¿ãŒã³ãããã³ã°æ©èœã«æ¬ ããŠããŸãããããããæè¿ã®ææ¡ã¯ããã®ã®ã£ãããåãã匷åãªãã¿ãŒã³ãããã³ã°æ©èœãJavaScriptéçºã®æåç·ã«ããããããšãç®æããŠããŸãããã®èšäºã§ã¯ããããã®ææ¡ãç¹ã«æ§é çåå²ä»£å ¥ã«çŠç¹ãåœãŠãJavaScriptã³ãŒãã®èšè¿°æ¹æ³ãæ ¹æ¬çã«å€é©ããå¯èœæ§ãæ¢ããŸãã
ãã¿ãŒã³ãããã³ã°ãšã¯ïŒ
ãã¿ãŒã³ãããã³ã°ã®æ žå¿ã¯ãäžããããå€ãç¹å®ã®æ§é ããã¿ãŒã³ãšæ¯èŒããã¡ã«ããºã ã§ããå€ããã¿ãŒã³ã«é©åããã°ããããã³ã°ã¯æåãã察å¿ããã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸããããã¯åãªãåçŽãªç䟡æ§ãã§ãã¯ä»¥äžã®ãã®ã§ãããããŒã¿ã®åœ¢ç¶ãšå
容ã«åºã¥ããŠè€éãªæ¡ä»¶ããžãã¯ãå¯èœã«ããŸãããã衚çŸè±ãã§åŒ·åãªswitchæããŸãã¯äžé£ã®é£éããif/elseæ¡ä»¶ãšèããŠãã ããã
äŸãã°ãã¢ãã¬ã¹ã衚ãJSONãªããžã§ã¯ããåãåãã·ããªãªãèããŠã¿ãŸãããããã¿ãŒã³ãããã³ã°ã䜿ãã°ããã®ãªããžã§ã¯ãã«cityãcountryãpostalCodeãªã©ã®ç¹å®ã®ãã£ãŒã«ããå«ãŸããŠããããç°¡åã«å€æãããããã®å€ãçŽæ¥æœåºããŠããã«åŠçããããšãã§ããŸããããã¯ãåããããã£ã®ååšãæåã§ãã§ãã¯ãããããã¯ããã«ç°¡æœã§èªã¿ãããã§ãã
ãªãJavaScriptã«ãšã£ãŠãã¿ãŒã³ãããã³ã°ãéèŠãªã®ã
JavaScriptéçºè ã¯ãAPIããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ããè¿ããããããªè€éãªããŒã¿æ§é ãæ±ãããšããããããŸãããã¿ãŒã³ãããã³ã°ã¯ããã®æèã«ãããŠããã€ãã®å©ç¹ãæäŸããŸãïŒ
- ã³ãŒãã®å¯èªæ§ã®åäžïŒãã¿ãŒã³ãããã³ã°ã¯ãããŒã¿ã®æåŸ ãããæ§é ãæç€ºçã«å®çŸ©ããããšã§ãã³ãŒããçè§£ããããããŸããããã«ãããèªç¥è² è·ã軜æžãããã³ãŒãã®ä¿å®æ§ãåäžããŸãã
- ã³ãŒãã®ç°¡æœãã®åäžïŒãã¿ãŒã³ãããã³ã°ã¯ãè€æ°ã®ãã¹ãããã
if/elseæãããã衚çŸåè±ããªåäžã®æ§æèŠçŽ ã«çœ®ãæããããšãã§ããŸããããã«ãããããçããããä¿å®ããããã³ãŒãã«ãªããŸãã - ããŒã¿æ€èšŒã®åŒ·åïŒãã¿ãŒã³ãããã³ã°ã¯ãããŒã¿ã®æ§é ãšå å®¹ãæ€èšŒããæåŸ ããã圢åŒã«é©åããŠããããšã確èªããããã«äœ¿çšã§ããŸããããã«ããããšã©ãŒã®é²æ¢ãšã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ã®åäžã«åœ¹ç«ã¡ãŸãã
- 颿°åããã°ã©ãã³ã°ãã©ãã€ã ïŒãã¿ãŒã³ãããã³ã°ã¯é¢æ°åããã°ã©ãã³ã°ã®æ žãšãªãæŠå¿µã§ãããéçºè ããã宣èšçã§äžå€ãªã³ãŒããæžãããšãå¯èœã«ããŸããããã¯ãJavaScriptã§é¢æ°åããã°ã©ãã³ã°ã®ååãæ¡çšããåŸåã®é«ãŸããšäžèŽããŠããŸãã
æ§é çåå²ä»£å ¥ã®ææ¡ïŒè©³çްãèŠã
çŸåšãJavaScriptã«ãã¿ãŒã³ãããã³ã°ãå°å ¥ããããã®ããã€ãã®ææ¡ãæ€èšãããŠãããæ§é çåå²ä»£å ¥ã¯ãã®äžã§ãäž»èŠãªã¢ãããŒãã§ããæ§é çåå²ä»£å ¥ã¯ãæ¢åã®åå²ä»£å ¥ãšé¡äŒŒããŠããŸããããã¿ãŒã³ãããã³ã°æ¡ä»¶ã®è¿œå ãããåã«ãã£ãŠããªããžã§ã¯ããé åããã®æ§é ã«åºã¥ããŠåè§£ããããšãå¯èœã«ããŸãã
æ£ç¢ºãªæ§æã¯ç¹å®ã®ææ¡ã«ãã£ãŠç°ãªãå ŽåããããŸãããäžè¬çãªèãæ¹ã¯ãããæŽç·Žããããããã³ã°ããžãã¯ããµããŒãããããã«åå²ä»£å ¥ãæ¡åŒµããããšã§ããããã€ãã®æœåšçãªäŸãèŠãŠã¿ãŸãããïŒ
äŸ1ïŒåºæ¬çãªãªããžã§ã¯ããããã³ã°
ãŠãŒã¶ãŒããŒã¿ãåŠçãã颿°ããããšæ³åããŠãã ãããç°ãªããŠãŒã¶ãŒããŒã«ãç°ãªãæ¹æ³ã§åŠçãããå Žåã§ãã
function processUser(user) {
switch (user) {
case { role: "admin", name }:
console.log(`管çè
ãŠãŒã¶ãŒ: ${name}`);
break;
case { role: "moderator", name }:
console.log(`ã¢ãã¬ãŒã¿ãŒãŠãŒã¶ãŒ: ${name}`);
break;
case { role: "guest", name }:
console.log(`ã²ã¹ããŠãŒã¶ãŒ: ${name}`);
break;
default:
console.log("äžæãªãŠãŒã¶ãŒããŒã«");
}
}
const adminUser = { role: "admin", name: "Alice", email: "alice@example.com" };
const guestUser = { role: "guest", name: "Bob", country: "Canada" };
processUser(adminUser); // åºå: 管çè
ãŠãŒã¶ãŒ: Alice
processUser(guestUser); // åºå: ã²ã¹ããŠãŒã¶ãŒ: Bob
ãã®äŸã§ã¯ãswitchæã¯æ§é çåå²ä»£å
¥ã䜿çšããŠãuserãªããžã§ã¯ãããã®roleããããã£ã«åºã¥ããŠãããã³ã°ããŠããŸããroleãç¹å®ã®å€ïŒäŸïŒãadminãïŒã«ããããããšã察å¿ããã³ãŒããããã¯ãå®è¡ãããŸããnameããããã£ãcaseæå
ã§çŽæ¥æœåºãããŠããããšã«æ³šç®ããŠãã ããã
äŸ2ïŒã¬ã¹ãæŒç®åã«ããé åãããã³ã°
泚æããŒã¿ãåŠçãã颿°ãèããŠã¿ãŸããããæ³šæã«å«ãŸããã¢ã€ãã ã®æ°ã«åºã¥ããŠãç°ãªã泚æã¿ã€ããåŠçãããå Žåã§ãã
function processOrder(order) {
switch (order) {
case ["item1", "item2", ...rest]:
console.log(`2ã€ã®ã¢ã€ãã ãšãããã«${rest.length}ã€ã®ã¢ã€ãã ãå«ã泚æ`);
break;
case ["item1"]:
console.log("1ã€ã®ã¢ã€ãã ãå«ã泚æ");
break;
case []:
console.log("ç©ºã®æ³šæ");
break;
default:
console.log("äžæãªæ³šæã¿ã€ã");
}
}
const order1 = ["book", "pen", "notebook"];
const order2 = ["keyboard"];
const order3 = [];
processOrder(order1); // åºå: 2ã€ã®ã¢ã€ãã ãšãããã«1ã€ã®ã¢ã€ãã ãå«ã泚æ
processOrder(order2); // åºå: 1ã€ã®ã¢ã€ãã ãå«ã泚æ
processOrder(order3); // åºå: ç©ºã®æ³šæ
ããã§ã¯ãswitchæã¯æ§é çåå²ä»£å
¥ã䜿çšããŠãorderé
åããã®èŠçŽ ã«åºã¥ããŠãããã³ã°ããŠããŸããã¬ã¹ãæŒç®åïŒ...restïŒã¯ãæåã®èŠçŽ ããããããåŸã«é
åã«æ®ã£ãŠãããã¹ãŠã®èŠçŽ ããã£ããã£ããããšãå¯èœã«ããŸãã
äŸ3ïŒæ¡ä»¶ä»ããããã³ã°
ãã®äŸã¯ãåå²ä»£å ¥ããã倿°ã®å€ã«åºã¥ããŠãããã³ã°ããæ¹æ³ã瀺ããŠããŸãã
function processPayment(payment) {
switch (payment) {
case { amount, currency: "USD" }:
console.log(`${amount} USDã®æ¯æããåŠçäž`);
break;
case { amount, currency: "EUR" }:
console.log(`${amount} EURã®æ¯æããåŠçäž`);
break;
case { amount, currency }:
console.log(`${currency}ã§${amount}ã®æ¯æããåŠçäž`);
break;
default:
console.log("ç¡å¹ãªæ¯æã");
}
}
const paymentUSD = { amount: 100, currency: "USD" };
const paymentEUR = { amount: 80, currency: "EUR" };
const paymentGBP = { amount: 50, currency: "GBP" };
processPayment(paymentUSD); // åºå: 100 USDã®æ¯æããåŠçäž
processPayment(paymentEUR); // åºå: 80 EURã®æ¯æããåŠçäž
processPayment(paymentGBP); // åºå: GBPã§50ã®æ¯æããåŠçäž
ãã®äŸã§ã¯ã察å¿ããã¢ã¯ã·ã§ã³ãå®è¡ãããåã«currencyãç¹å®ã®å€ã«ãã§ãã¯ãããŸãã
äŸ4ïŒãã¹ããããåå²ä»£å ¥
æ·±ããã¹ããããæ§é ãç°¡åã«ãããã³ã°ã§ããŸãã
function processWeatherData(data) {
switch (data) {
case { location: { city: "London", country: "UK" }, temperature }:
console.log(`ãã³ãã³ãã€ã®ãªã¹ã®å€©æ°: ${temperature}°C`);
break;
case { location: { city, country }, temperature }:
console.log(`${city}ã${country}ã®å€©æ°: ${temperature}°C`);
break;
default:
console.log("ç¡å¹ãªå€©æ°ããŒã¿");
}
}
const londonWeather = { location: { city: "London", country: "UK" }, temperature: 15 };
const parisWeather = { location: { city: "Paris", country: "France" }, temperature: 20 };
processWeatherData(londonWeather); // åºå: ãã³ãã³ãã€ã®ãªã¹ã®å€©æ°: 15°C
processWeatherData(parisWeather); // åºå: ããªããã©ã³ã¹ã®å€©æ°: 20°C
ããã«ããããã¹ããããæ§é ããããŒã¿ããšã¬ã¬ã³ãã«æœåºãããŸãã
ãã¿ãŒã³ãããã³ã°ã®ããã®æ§é çåå²ä»£å ¥ã®å©ç¹
- å¯èªæ§ã®åäžïŒããŒã¿ã®æ§é ããã¿ãŒã³ã§æç€ºçã«å®çŸ©ããããããã³ãŒãã¯ãã宣èšçã§çè§£ãããããªããŸãã
- ãã€ã©ãŒãã¬ãŒãã®åæžïŒæ§é çåå²ä»£å ¥ã«ãããæåã§ã®ããããã£ã¢ã¯ã»ã¹ãåãã§ãã¯ã®å¿ èŠããªããªãããã€ã©ãŒãã¬ãŒãã³ãŒãã®éãåæžãããŸãã
- åå®å šæ§ã®åŒ·åïŒããŒã¿ã®æåŸ ãããæ§é ãæç€ºçã«å®çŸ©ããããšã§ãæ§é çåå²ä»£å ¥ã¯éçºããã»ã¹ã®åææ®µéã§ãšã©ãŒãæ€åºããã®ã«åœ¹ç«ã¡ãŸããTypeScriptã®ä»£æ¿ã§ã¯ãããŸããããåãã§ãã¯æŠç¥ãè£å®ããããšãã§ããŸãã
- ã³ãŒãã®åå©çšæ§ã®åäžïŒãã¿ãŒã³ãããã³ã°ã¯ãç°ãªãããŒã¿æ§é ãäžè²«ããæ¹æ³ã§åŠçã§ããåå©çšå¯èœãªã³ã³ããŒãã³ããäœæããããã«äœ¿çšã§ããŸãã
- ããè¯ããšã©ãŒãã³ããªã³ã°ïŒ
switchæã®defaultã±ãŒã¹ã¯ãããŒã¿ãå®çŸ©ãããã©ã®ãã¿ãŒã³ã«ããããããªãå Žåã®åŠçãèªç¶ãªæ¹æ³ã§æäŸããŸãã
æœåšçãªèª²é¡ãšèæ ®äºé
æ§é çåå²ä»£å ¥ã¯å€§ããªå©ç¹ãæäŸããŸãããçæãã¹ãæœåšçãªèª²é¡ãšèæ ®äºé ãããã€ããããŸãïŒ
- è€éæ§ïŒè€éãªãã¿ãŒã³ã¯ãç¹ã«æ·±ããã¹ããããæ§é ãæ±ãå Žåãèªã¿ã«ããçè§£ãã«ãããªãå¯èœæ§ããããŸãã
- ããã©ãŒãã³ã¹ïŒãã¿ãŒã³ãããã³ã°ã®ããã©ãŒãã³ã¹ã¯ããã¿ãŒã³ã®è€éããšããŒã¿ã®ãµã€ãºã«ãã£ãŠåœ±é¿ãåããå¯èœæ§ããããŸãã
- æ§æïŒæ§é çåå²ä»£å ¥ã®æ§æã¯ãŸã éçºäžã§ãããæçµçãªæ§æã¯ããã§ç€ºãããäŸãšç°ãªãå ŽåããããŸãã
- æ¡çšæ²ç·ïŒéçºè ã¯ãæ§é çåå²ä»£å ¥ã«é¢é£ããæ°ããæ§æãšæŠå¿µãåŠã¶å¿ èŠãããããã¬ãŒãã³ã°ãšæè²ã«åææè³ãå¿ èŠã«ãªãå ŽåããããŸãã
- ããŒã«ãµããŒãïŒIDEããã®ä»ã®éçºããŒã«ã¯ãæ§æãã€ã©ã€ããã³ãŒãè£å®ããããã°ãªã©ãæ§é çåå²ä»£å ¥ã®é©åãªãµããŒããæäŸããããã«æŽæ°ãããå¿ èŠããããŸãã
ã°ããŒãã«ãªåœ±é¿ãšèæ ®äºé
æ§é çåå²ä»£å ¥ã«ãããã¿ãŒã³ãããã³ã°ã®å°å ¥ã¯ãã°ããŒãã«ãªJavaScriptéçºã³ãã¥ããã£ã«å€§ããªåœ±é¿ãäžããã§ãããã以äžã«ããã€ãã®éèŠãªèæ ®äºé ãæããŸãïŒ
- æšæºåïŒãã¿ãŒã³ãããã³ã°ã«å¯Ÿããæç¢ºã«å®çŸ©ãããæšæºåãããã¢ãããŒãã¯ãç°ãªãJavaScriptç°å¢éã§ã®ã¯ãã¹ãã©ãŠã¶äºææ§ãšäžè²«ããåäœãä¿èšŒããããã«äžå¯æ¬ ã§ãã
- ã¢ã¯ã»ã·ããªãã£ïŒæ§é çåå²ä»£å ¥ã«é¢é£ããæ§æãšæŠå¿µã¯ã倿§ãªèæ¯ãšã¹ãã«ã¬ãã«ãæã€éçºè ãã¢ã¯ã»ã¹ãããããã®ã§ããã¹ãã§ããæ®åã®ããã«ã¯ãæç¢ºãªããã¥ã¡ã³ããšãã¥ãŒããªã¢ã«ãäžå¯æ¬ ã§ãã
- ããŒã«ã©ã€ãŒãŒã·ã§ã³ïŒäžçäžã®éçºè ãæ°ããæ©èœãç°¡åã«çè§£ã䜿çšã§ããããã«ãäŸãšããã¥ã¡ã³ãã¯ç°ãªãèšèªã«ããŒã«ã©ã€ãºãããã¹ãã§ãã
- åœéåïŒãã¿ãŒã³ãããã³ã°ã¯ãæ¥ä»ãé貚ãã¢ãã¬ã¹ãªã©ã®åœéåãããããŒã¿ãšã·ãŒã ã¬ã¹ã«é£æºããããã«èšèšãããã¹ãã§ãã
- ã³ãã¥ããã£ã®é¢äžïŒãã¿ãŒã³ãããã³ã°æ©èœã®éçºã«ã¯ãäžçäžã®éçºè ã®ããŒãºãæºããããã«ãã°ããŒãã«ãªJavaScriptã³ãã¥ããã£ããã®æèŠãåãå ¥ããã¹ãã§ããããã¯ããªã³ã©ã€ã³ãã©ãŒã©ã ãã«ã³ãã¡ã¬ã³ã¹ããªãŒãã³ãœãŒã¹ãããžã§ã¯ããéããŠä¿é²ã§ããŸãã
ç°ãªãå°åã«ãããå®çšçãªãŠãŒã¹ã±ãŒã¹
äžçäžã®ç°ãªãå°åã«ãããæ§é çåå²ä»£å ¥ã®å®çšçãªãŠãŒã¹ã±ãŒã¹ãããã€ãèŠãŠã¿ãŸãããïŒ
- Eã³ããŒã¹ïŒã°ããŒãã«ïŒïŒåœãéµäŸ¿çªå·ã®åœ¢åŒã«åºã¥ããŠãç°ãªãé éå äœæïŒäŸïŒåç±³ããšãŒããããã¢ãžã¢ïŒãæã€æ³šæãåŠçããŸãããã¿ãŒã³ãããã³ã°ã¯ãäœææ å ±ã®æ€èšŒãšæœåºãç°¡çŽ åã§ããŸãã
- éèã¢ããªã±ãŒã·ã§ã³ïŒãšãŒãããïŒïŒåœéååŒã«ãããç°ãªãé貚圢åŒãšçºæ¿ã¬ãŒããåŠçããŸãããã¿ãŒã³ãããã³ã°ã¯ãé貚ãèå¥ããé©åãªæç®ã«ãŒã«ãé©çšããããã«äœ¿çšã§ããŸãã
- ãã«ã¹ã±ã¢ïŒåç±³ïŒïŒç°ãªãä¿éºäŒç€Ÿãšè£åãã©ã³ãæã€æ£è ããŒã¿ãåŠçããŸãããã¿ãŒã³ãããã³ã°ã¯ãæ£è èšé²ããé¢é£æ å ±ãæœåºããããšãç°¡çŽ åã§ããŸãã
- ããžã¹ãã£ã¯ã¹ïŒã¢ãžã¢ïŒïŒç®çå°ã®å Žæãšã¿ã€ã ãŸãŒã³ã«åºã¥ããŠé éã«ãŒããšã¹ã±ãžã¥ãŒã«ã管çããŸãããã¿ãŒã³ãããã³ã°ã¯ãå Žæãç¹å®ããããã«å¿ããŠé éæéã調æŽããããã«äœ¿çšã§ããŸãã
- æè²ïŒåç±³ïŒïŒç°ãªãåŠæŽãšè³æ Œãæã€åŠçèšé²ãåŠçããŸãããã¿ãŒã³ãããã³ã°ã¯ãåŠçã®å¿åã®è©äŸ¡ãç°¡çŽ åã§ããŸãã
æ§é çåå²ä»£å ¥ã®æ¡çšïŒæ®µéçãªã¢ãããŒã
æ§é çåå²ä»£å ¥ãå©çšå¯èœã«ãªã£ããããããæ®µéçãã€æŠç¥çã«æ¡çšããããšãéèŠã§ãã以äžã«ããã€ãã®æšå¥šäºé ã瀺ããŸãïŒ
- å°ããªãç¬ç«ããã³ãŒããããã¯ããå§ããïŒæ°ããæ§æãšæŠå¿µã«æ £ããããã«ãããå°ããªé¢æ°ãã¢ãžã¥ãŒã«ã§æ§é çåå²ä»£å ¥ã䜿çšããããšããå§ããŸãã
- å¯èªæ§ã®åäžã«çŠç¹ãåœãŠãïŒæ§é çåå²ä»£å ¥ã䜿çšããŠãè€éãªæ¡ä»¶ããžãã¯ãç°¡çŽ åããã³ãŒããçè§£ããããããŸãã
- åäœãã¹ããæžãïŒãã¿ãŒã³ãæåŸ ã©ããã«æ©èœããŠããããšã確èªããããã«ãã³ãŒãã培åºçã«ãã¹ãããŸãã
- æ¢åã®ã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããïŒæ§é çåå²ä»£å ¥ã掻çšããããã«ãæ¢åã®ã³ãŒããåŸã ã«ãªãã¡ã¯ã¿ãªã³ã°ããŸãã
- ã³ãŒããææžåããïŒãã¿ãŒã³ãšãã®ç®çãæç¢ºã«ææžåããŠãä»ã®äººãã³ãŒããçè§£ããä¿å®ããããããŸãã
- ç¥èãå ±æããïŒæ§é çåå²ä»£å ¥ã«é¢ããçµéšãã³ãã¥ããã£ãšå ±æããŠãä»ã®äººãæ°ããæ©èœãåŠã³ãæ¡çšããã®ã«åœ¹ç«ãŠãŸãã
çµè«
æ§é çåå²ä»£å ¥ã¯ãJavaScriptã«åŒ·åãªãã¿ãŒã³ãããã³ã°æ©èœããããããã³ãŒãã®å¯èªæ§ãç°¡æœããä¿å®æ§ãåäžãããããšãçŽæããŸããæ§æãšå®è£ ã®è©³çްã¯ãŸã é²åäžã§ããããã®æœåšçãªå©ç¹ã¯åŠå®ã§ããŸããããããã®ææ¡ãæçããåºãæ¡çšãããã«ã€ããŠãJavaScriptã³ãŒãã®èšè¿°æ¹æ³ãå€é©ããã°ããŒãã«ãªãŠãŒã¶ãŒåãã«ãããå ç¢ã§è¡šçŸåè±ãããã€ä¿å®ããããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããããã«ãªãã§ããããJavaScriptã®æªæ¥ãåãå ¥ãããã¿ãŒã³ãããã³ã°ã®åãè§£ãæŸã€æºåãããŸãããïŒ