JavaScriptã®ã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ãæã€ã¢ã¯ã·ã§ã³ã«ãã»ã«åã®åãæ¢æ±ããã°ããŒãã«ãªãœãããŠã§ã¢éçºã«ãããã³ãŒãã®æŽçãä¿å®æ§ããã¹ãå®¹ææ§ãåäžãããŸãã
JavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ïŒã¢ã¯ã·ã§ã³ã®ã«ãã»ã«å
JavaScriptéçºãç¹ã«ã°ããŒãã«ãªãŠãŒã¶ãŒã察象ãšããè€éãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«ãããŠãä¿å®æ§ããã¹ãå®¹ææ§ãã¹ã±ãŒã©ããªãã£ã¯æãéèŠã§ãããããã®ç®æšãéæããããã®å¹æçãªã¢ãããŒãã®äžã€ã«ããã¶ã€ã³ãã¿ãŒã³ã®é©çšããããŸããäžã§ãã³ãã³ããã¿ãŒã³ã¯ãJavaScriptã®ã¢ãžã¥ãŒã«ã·ã¹ãã ãšçµã¿åãããããšã§ãã¢ã¯ã·ã§ã³ãã«ãã»ã«åããççµåãä¿é²ããã³ãŒãã®æ§æã匷åããããã®åŒ·åãªãã¯ããã¯ãæäŸããŸãããã®ã¢ãããŒãã¯ããã°ãã°JavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ãšåŒã°ããŸãã
ã³ãã³ããã¿ãŒã³ãšã¯ïŒ
ã³ãã³ããã¿ãŒã³ã¯ããªã¯ãšã¹ããã¹ã¿ã³ãã¢ãã³ã®ãªããžã§ã¯ãã«å€æããè¡åãã¶ã€ã³ãã¿ãŒã³ã§ãããã®ãªããžã§ã¯ãã«ã¯ããªã¯ãšã¹ãã«é¢ãããã¹ãŠã®æ å ±ãå«ãŸããŸãããã®å€æã«ãããã¯ã©ã€ã¢ã³ããç°ãªããªã¯ãšã¹ãã§ãã©ã¡ãŒã¿åãããããªã¯ãšã¹ãããã¥ãŒã«å ¥ããããã°ã«èšé²ããããå ã«æ»ããæäœããµããŒããããããããšãå¯èœã«ãªããŸããæ¬è³ªçã«ãæäœãåŒã³åºããªããžã§ã¯ããšããã®å®è¡æ¹æ³ãç¥ã£ãŠãããªããžã§ã¯ããåé¢ããŸãããã®åé¢ã¯ãç¹ã«å€æ§ãªãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãã°ããŒãã«ãªã¢ããªã±ãŒã·ã§ã³æ©èœãæ±ãéã«ãæè»ã§é©å¿æ§ã®é«ããœãããŠã§ã¢ã·ã¹ãã ãæ§ç¯ããããã«äžå¯æ¬ ã§ãã
ã³ãã³ããã¿ãŒã³ã®äž»èŠãªæ§æèŠçŽ ã¯ä»¥äžã®éãã§ãïŒ
- ã³ãã³ã (Command): ã¢ã¯ã·ã§ã³ãå®è¡ããããã®ã¡ãœããã宣èšããã€ã³ã¿ãŒãã§ãŒã¹ã
- å ·è±¡ã³ãã³ã (Concrete Command): ã³ãã³ãã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããã¢ã¯ã·ã§ã³ãã¬ã·ãŒããŒã«ãã€ã³ãããããšã§ãªã¯ãšã¹ããã«ãã»ã«åããã¯ã©ã¹ã
- ã€ã³ããŒã«ãŒ (Invoker): ã³ãã³ãã«ãªã¯ãšã¹ãã®å®è¡ãäŸé Œããã¯ã©ã¹ã
- ã¬ã·ãŒã㌠(Receiver): ãªã¯ãšã¹ãã«é¢é£ããã¢ã¯ã·ã§ã³ã®å®è¡æ¹æ³ãç¥ã£ãŠããã¯ã©ã¹ã
- ã¯ã©ã€ã¢ã³ã (Client): å ·è±¡ã³ãã³ããªããžã§ã¯ããäœæããã¬ã·ãŒããŒãèšå®ããã
ãªãã³ãã³ããã¿ãŒã³ã§ã¢ãžã¥ãŒã«ã䜿ãã®ãïŒ
JavaScriptã¢ãžã¥ãŒã«ã¯ãã³ãŒããåå©çšå¯èœãªåäœã«ã«ãã»ã«åããæ¹æ³ãæäŸããŸããã³ãã³ããã¿ãŒã³ãJavaScriptã¢ãžã¥ãŒã«ãšçµã¿åãããããšã§ãããã€ãã®å©ç¹ãåŸãããŸãïŒ
- ã«ãã»ã«å: ã¢ãžã¥ãŒã«ã¯é¢é£ããã³ãŒããšããŒã¿ãã«ãã»ã«åããåœåè¡çªãé²ããã³ãŒãã®æ§æãæ¹åããŸããããã¯ãç°ãªãå°ççãªå Žæã®éçºè ããã®è²¢ç®ãããå€§èŠæš¡ãªãããžã§ã¯ãã§ç¹ã«æçã§ãã
- ççµå: ã³ãã³ããã¿ãŒã³ã¯ã€ã³ããŒã«ãŒãšã¬ã·ãŒããŒéã®ççµåãä¿é²ããŸããã¢ãžã¥ãŒã«ã¯ã¢ããªã±ãŒã·ã§ã³ã®ç°ãªãéšåã®éã«æç¢ºãªå¢çãæäŸããããšã§ããããããã«åŒ·åããŸããããã«ãããç°ãªãã¿ã€ã ãŸãŒã³ã§äœæ¥ããŠããå¯èœæ§ã®ããå¥ã ã®ããŒã ããäºãã«å¹²æžããããšãªãåæã«ç°ãªãæ©èœã«åãçµãããšãã§ããŸãã
- ãã¹ãå®¹ææ§: ã¢ãžã¥ãŒã«ã¯åé¢ããŠãã¹ãããã®ã容æã§ããã³ãã³ããã¿ãŒã³ã¯ã¢ã¯ã·ã§ã³ãæç€ºçã«ãããããåã³ãã³ããç¬ç«ããŠãã¹ãã§ããŸããããã¯ãã°ããŒãã«ã«å±éããããœãããŠã§ã¢ã®å質ãšä¿¡é Œæ§ã確ä¿ããããã«äžå¯æ¬ ã§ãã
- åå©çšæ§: ã³ãã³ãã¯ã¢ããªã±ãŒã·ã§ã³ã®ç°ãªãéšåã§åå©çšã§ããŸããã¢ãžã¥ãŒã«ã䜿çšãããšãç°ãªãã¢ãžã¥ãŒã«éã§ã³ãã³ããå ±æã§ããã³ãŒãã®åå©çšãä¿é²ããéè€ãæžãããŸãã
- ä¿å®æ§: ã¢ãžã¥ãŒã«åãããã³ãŒãã¯ä¿å®ãšæŽæ°ã容æã§ããããã¢ãžã¥ãŒã«ãžã®å€æŽãã¢ããªã±ãŒã·ã§ã³ã®ä»ã®éšåã«åœ±é¿ãäžããå¯èœæ§ãäœããªããŸããã³ãã³ããã¿ãŒã³ã®ã«ãã»ã«åãããæ§è³ªã¯ãç¹å®ã®ã¢ã¯ã·ã§ã³ãžã®å€æŽã®åœ±é¿ãããã«åé¢ããŸãã
JavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ã®å®è£
ãããå®è·µçãªäŸã§ç€ºããŸããããã·ã§ããã³ã°ã«ãŒãã«ååã远å ããããå²åŒãé©çšããããæ¯æããåŠçãããããæ©èœãæã€ã°ããŒãã«ãªeã³ããŒã¹ãã©ãããã©ãŒã ãæ³åããŠã¿ãŠãã ãããJavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ã䜿çšããŠããããã®ã¢ã¯ã·ã§ã³ãã«ãã»ã«åã§ããŸãã
äŸïŒeã³ããŒã¹ã®ã¢ã¯ã·ã§ã³
çŸä»£ã®JavaScriptã®æšæºã§ããESã¢ãžã¥ãŒã«ã䜿çšããŠã³ãã³ããå®çŸ©ããŸãã
1. ã³ãã³ãã€ã³ã¿ãŒãã§ãŒã¹ã®å®çŸ© (command.js):
// command.js
export class Command {
constructor() {
if (this.constructor === Command) {
throw new Error("æœè±¡ã¯ã©ã¹ã¯ã€ã³ã¹ã¿ã³ã¹åã§ããŸããã");
}
}
execute() {
throw new Error("ã¡ãœãã'execute()'ãå®è£
ããå¿
èŠããããŸãã");
}
}
ããã¯ãæœè±¡çãª`execute`ã¡ãœãããæã€ããŒã¹ã®`Command`ã¯ã©ã¹ãå®çŸ©ããŸãã
2. å ·è±¡ã³ãã³ãã®å®è£ (add-to-cart-command.js, apply-discount-command.js, process-payment-command.js):
// add-to-cart-command.js
import { Command } from './command.js';
export class AddToCartCommand extends Command {
constructor(cart, item, quantity) {
super();
this.cart = cart;
this.item = item;
this.quantity = quantity;
}
execute() {
this.cart.addItem(this.item, this.quantity);
}
}
// apply-discount-command.js
import { Command } from './command.js';
export class ApplyDiscountCommand extends Command {
constructor(cart, discountCode) {
super();
this.cart = cart;
this.discountCode = discountCode;
}
execute() {
this.cart.applyDiscount(this.discountCode);
}
}
// process-payment-command.js
import { Command } from './command.js';
export class ProcessPaymentCommand extends Command {
constructor(paymentProcessor, amount, paymentMethod) {
super();
this.paymentProcessor = paymentProcessor;
this.amount = amount;
this.paymentMethod = paymentMethod;
}
execute() {
this.paymentProcessor.processPayment(this.amount, this.paymentMethod);
}
}
ãããã®ãã¡ã€ã«ã¯ãç°ãªãã¢ã¯ã·ã§ã³ã®ããã®å ·è±¡ã³ãã³ããå®è£ ãããããããå¿ èŠãªããŒã¿ãšããžãã¯ãã«ãã»ã«åããŠããŸãã
3. ã¬ã·ãŒããŒã®å®è£ (cart.js, payment-processor.js):
// cart.js
export class Cart {
constructor() {
this.items = [];
this.discount = 0;
}
addItem(item, quantity) {
this.items.push({ item, quantity });
console.log(`${item}ã${quantity}åã«ãŒãã«è¿œå ããŸããã`);
}
applyDiscount(discountCode) {
// å²åŒã³ãŒãã®æ€èšŒãã·ãã¥ã¬ãŒãïŒå®éã®ããžãã¯ã«çœ®ãæããŠãã ããïŒ
if (discountCode === 'GLOBAL20') {
this.discount = 0.2;
console.log('å²åŒãé©çšãããŸããïŒ');
} else {
console.log('ç¡å¹ãªå²åŒã³ãŒãã§ãã');
}
}
getTotal() {
let total = 0;
this.items.forEach(item => {
total += item.item.price * item.quantity;
});
return total * (1 - this.discount);
}
}
// payment-processor.js
export class PaymentProcessor {
processPayment(amount, paymentMethod) {
// æ¯æåŠçãã·ãã¥ã¬ãŒãïŒå®éã®ããžãã¯ã«çœ®ãæããŠãã ããïŒ
console.log(`${paymentMethod}ã䜿çšããŠ${amount}ã®æ¯æããåŠçããŠããŸãã`);
return true; // æ¯ææåã瀺ã
}
}
ãããã®ãã¡ã€ã«ã¯ãå®éã®ã¢ã¯ã·ã§ã³ãå®è¡ããã¬ã·ãŒããŒã§ãã`Cart`ãš`PaymentProcessor`ã¯ã©ã¹ãå®çŸ©ããŸãã
4. ã€ã³ããŒã«ãŒã®å®è£ (checkout-service.js):
// checkout-service.js
export class CheckoutService {
constructor() {
this.commands = [];
}
addCommand(command) {
this.commands.push(command);
}
executeCommands() {
this.commands.forEach(command => {
command.execute();
});
this.commands = []; // å®è¡åŸã«ã³ãã³ããã¯ãªã¢
}
}
`CheckoutService`ã¯ã€ã³ããŒã«ãŒãšããŠæ©èœããã³ãã³ãã®ç®¡çãšå®è¡ãæ åœããŸãã
5. 䜿çšäŸ (main.js):
// main.js
import { Cart } from './cart.js';
import { PaymentProcessor } from './payment-processor.js';
import { AddToCartCommand } from './add-to-cart-command.js';
import { ApplyDiscountCommand } from './apply-discount-command.js';
import { ProcessPaymentCommand } from './process-payment-command.js';
import { CheckoutService } from './checkout-service.js';
// ã€ã³ã¹ã¿ã³ã¹ãäœæ
const cart = new Cart();
const paymentProcessor = new PaymentProcessor();
const checkoutService = new CheckoutService();
// ãµã³ãã«ã¢ã€ãã
const item1 = { name: 'ã°ããŒãã«è£œåA', price: 10 };
const item2 = { name: 'ã°ããŒãã«è£œåB', price: 20 };
// ã³ãã³ããäœæ
const addToCartCommand1 = new AddToCartCommand(cart, item1, 2);
const addToCartCommand2 = new AddToCartCommand(cart, item2, 1);
const applyDiscountCommand = new ApplyDiscountCommand(cart, 'GLOBAL20');
const processPaymentCommand = new ProcessPaymentCommand(paymentProcessor, cart.getTotal(), 'ã¯ã¬ãžããã«ãŒã');
// ãã§ãã¯ã¢ãŠããµãŒãã¹ã«ã³ãã³ãã远å
checkoutService.addCommand(addToCartCommand1);
checkoutService.addCommand(addToCartCommand2);
checkoutService.addCommand(applyDiscountCommand);
checkoutService.addCommand(processPaymentCommand);
// ã³ãã³ããå®è¡
checkoutService.executeCommands();
ãã®äŸã¯ãã³ãã³ããã¿ãŒã³ãšã¢ãžã¥ãŒã«ãçµã¿åãããããšã§ãç°ãªãã¢ã¯ã·ã§ã³ãæç¢ºã§æŽçãããæ¹æ³ã§ã«ãã»ã«åããæ¹æ³ã瀺ããŠããŸãã`CheckoutService`ã¯åã¢ã¯ã·ã§ã³ã®è©³çްãç¥ãå¿ èŠã¯ãªããåã«ã³ãã³ããå®è¡ããã ãã§ãããã®ã¢ãŒããã¯ãã£ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ä»ã®éšåã«åœ±é¿ãäžããããšãªããæ°ããæ©èœã远å ãããæ¢åã®æ©èœã倿Žãããããããã»ã¹ãç°¡çŽ åããŸããäŸãã°ãäž»ã«ã¢ãžã¢ã§äœ¿çšãããæ°ããæ±ºæžã²ãŒããŠã§ã€ã®ãµããŒãã远å ããå¿ èŠããããšããŸããããã¯ãã«ãŒãããã§ãã¯ã¢ãŠãããã»ã¹ã«é¢é£ããæ¢åã®ã¢ãžã¥ãŒã«ã倿Žããããšãªããæ°ããã³ãã³ããšããŠå®è£ ã§ããŸãã
ã°ããŒãã«ãœãããŠã§ã¢éçºã«ãããå©ç¹
JavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ã¯ãã°ããŒãã«ãœãããŠã§ã¢éçºã«ãããŠå€§ããªå©ç¹ãæäŸããŸãïŒ
- ã³ã©ãã¬ãŒã·ã§ã³ã®åäž: æç¢ºãªã¢ãžã¥ãŒã«ã®å¢çãšã«ãã»ã«åãããã¢ã¯ã·ã§ã³ã«ãããç°ãªãã¿ã€ã ãŸãŒã³ãå°ççãªå Žæã«ããéçºè éã®ã³ã©ãã¬ãŒã·ã§ã³ãç°¡çŽ åãããŸããåããŒã ã¯ãä»è ãšå¹²æžããããšãªããç¹å®ã®ã¢ãžã¥ãŒã«ãã³ãã³ãã«éäžã§ããŸãã
- ã³ãŒãå質ã®åäž: ãã®ãã¿ãŒã³ã¯ãã¹ãå®¹ææ§ãåå©çšæ§ãä¿å®æ§ãä¿é²ããããé«ãã³ãŒãå質ãšãã°ã®æžå°ã«ã€ãªãããŸããããã¯ã倿§ãªç°å¢ã§ä¿¡é Œæ§ãšå ç¢æ§ãæ±ããããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠç¹ã«éèŠã§ãã
- éçºãµã€ã¯ã«ã®ççž®: ã¢ãžã¥ãŒã«åãããã³ãŒããšåå©çšå¯èœãªã³ãã³ãã¯éçºãµã€ã¯ã«ãå éãããããŒã ãæ°ããæ©èœãæŽæ°ãããè¿ éã«æäŸã§ããããã«ãªããŸãããã®ä¿ææ§ã¯ãã°ããŒãã«åžå Žã§ã®ç«¶äºåãç¶æããããã«äžå¯æ¬ ã§ãã
- ããŒã«ãªãŒãŒã·ã§ã³ãšåœéåã®å®¹æã: ãã®ãã¿ãŒã³ã¯é¢å¿ã®åé¢ãä¿é²ããã¢ããªã±ãŒã·ã§ã³ã®ããŒã«ã©ã€ãºãšåœéåã容æã«ããŸããç¹å®ã®ã³ãã³ãã¯ãã³ã¢æ©èœã«åœ±é¿ãäžããããšãªããç°ãªãå°åã®èŠä»¶ã«å¯Ÿå¿ããããã«å€æŽãŸãã¯çœ®æã§ããŸããäŸãã°ãé貚èšå·ã衚瀺ããã³ãã³ãã¯ãåãŠãŒã¶ãŒã®ãã±ãŒã«ã«åãããŠæ£ããèšå·ã衚瀺ããããã«ç°¡åã«é©å¿ã§ããŸãã
- ãªã¹ã¯ã®è»œæž: ãã¿ãŒã³ã®ççµåãªæ§è³ªã¯ãã³ãŒãã«å€æŽãå ããéã«ãã°ãå°å ¥ãããªã¹ã¯ã軜æžããŸããããã¯ãã°ããŒãã«ãªãŠãŒã¶ãŒããŒã¹ãæã€å€§èŠæš¡ã§è€éãªã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠç¹ã«éèŠã§ãã
å®äžçã®äŸãšå¿çš
JavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ã¯ãããŸããŸãªå®äžçã®ã·ããªãªã§é©çšã§ããŸãïŒ
- eã³ããŒã¹ãã©ãããã©ãŒã : ã·ã§ããã³ã°ã«ãŒãã®ç®¡çãæ¯æãã®åŠçãå²åŒã®é©çšãé éæ å ±ã®åãæ±ãã
- ã³ã³ãã³ã管çã·ã¹ãã (CMS): ã³ã³ãã³ãã®äœæãç·šéãå ¬éããŠãŒã¶ãŒããŒã«ãšæš©éã®ç®¡çãã¡ãã£ã¢è³ç£ã®åãæ±ãã
- ã¯ãŒã¯ãããŒèªååã·ã¹ãã : ã¯ãŒã¯ãããŒã®å®çŸ©ãšå®è¡ãã¿ã¹ã¯ã®ç®¡çã鲿ã®è¿œè·¡ã
- ã²ãŒã éçº: ãŠãŒã¶ãŒå ¥åã®åŠçãã²ãŒã ç¶æ ã®ç®¡çãã²ãŒã ã¢ã¯ã·ã§ã³ã®å®è¡ããã£ã©ã¯ã¿ãŒã®ç§»åãæ»æãã¢ã€ãã ã®äœ¿çšãªã©ã®ã¢ã¯ã·ã§ã³ãã³ãã³ããšããŠã«ãã»ã«åãããã«ããã¬ã€ã€ãŒã²ãŒã ãæ³åããŠã¿ãŠãã ãããããã«ãããundo/redoæ©èœã®å®è£ ã容æã«ãªãããããã¯ãŒã¯åæãä¿é²ãããŸãã
- éèã¢ããªã±ãŒã·ã§ã³: ååŒã®åŠçãå£åº§ã®ç®¡çãã¬ããŒãã®çæãã³ãã³ããã¿ãŒã³ã¯ãéèæäœãäžè²«ããŠä¿¡é Œæ§ã®é«ãæ¹æ³ã§å®è¡ãããããšãä¿èšŒã§ããŸãã
ãã¹ããã©ã¯ãã£ã¹ãšèæ ®äºé
JavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ã¯å€ãã®å©ç¹ãæäŸããŸããããã®å¹æçãªå®è£ ã確å®ã«ããããã«ã¯ããã¹ããã©ã¯ãã£ã¹ã«åŸãããšãéèŠã§ãïŒ
- ã³ãã³ããå°ãããçŠç¹ãçµã: åã³ãã³ãã¯ãåäžã®æç¢ºã«å®çŸ©ãããã¢ã¯ã·ã§ã³ãã«ãã»ã«åãã¹ãã§ããçè§£ãã«ãããä¿å®ãå°é£ãªå€§ãããŠè€éãªã³ãã³ããäœæããã®ã¯é¿ããŠãã ããã
- 説æçãªååã䜿çšãã: ã³ãã³ãã«ã¯ããã®ç®çãåæ ããæç¢ºã§èª¬æçãªååãä»ããŸããããã«ãããã³ãŒããèªã¿ããããçè§£ãããããªããŸãã
- ã³ãã³ããã¥ãŒã®äœ¿çšãæ€èšãã: éåææäœãç¹å®ã®é åºã§å®è¡ããå¿ èŠãããæäœã«ã¯ãã³ãã³ããã¥ãŒã®äœ¿çšãæ€èšããŠãã ããã
- undo/redoæ©èœãå®è£ ãã: ã³ãã³ããã¿ãŒã³ã䜿çšãããšãundo/redoæ©èœã®å®è£ ãæ¯èŒçç°¡åã«ãªããŸããããã¯å€ãã®ã¢ããªã±ãŒã·ã§ã³ã§äŸ¡å€ã®ããæ©èœãšãªãåŸãŸãã
- ã³ãã³ããææžåãã: åã³ãã³ãã«ã€ããŠããã®ç®çããã©ã¡ãŒã¿ãæ»ãå€ã説æããæç¢ºãªããã¥ã¡ã³ããæäŸããŸããããã«ãããä»ã®éçºè ãã³ãã³ãã广çã«çè§£ãã䜿çšããã®ã«åœ¹ç«ã¡ãŸãã
- é©åãªã¢ãžã¥ãŒã«ã·ã¹ãã ãéžæãã: çŸä»£ã®JavaScriptéçºã§ã¯äžè¬çã«ESã¢ãžã¥ãŒã«ã奜ãŸããŸããããããžã§ã¯ãã®èŠä»¶ãã¿ãŒã²ããç°å¢ã«ãã£ãŠã¯CommonJSãAMDãé©ããŠããå ŽåããããŸãã
ä»£æ¿æ¡ãšé¢é£ãã¿ãŒã³
ã³ãã³ããã¿ãŒã³ã¯åŒ·åãªããŒã«ã§ããããã¹ãŠã®åé¡ã«å¯Ÿããæåã®è§£æ±ºçãšã¯éããŸãããæ€èšãã¹ãããã€ãã®ä»£æ¿ãã¿ãŒã³ã以äžã«ç€ºããŸãïŒ
- ã¹ãã©ããžãŒãã¿ãŒã³: ã¹ãã©ããžãŒãã¿ãŒã³ã䜿çšãããšãå®è¡æã«ã¢ã«ãŽãªãºã ãéžæã§ããŸããããã¯ã³ãã³ããã¿ãŒã³ã«äŒŒãŠããŸãããã¢ã¯ã·ã§ã³ãã«ãã»ã«åããã®ã§ã¯ãªããç°ãªãã¢ã«ãŽãªãºã ãéžæããããšã«çŠç¹ãåœãŠãŠããŸãã
- ãã³ãã¬ãŒãã¡ãœãããã¿ãŒã³: ãã³ãã¬ãŒãã¡ãœãããã¿ãŒã³ã¯ãåºåºã¯ã©ã¹ã§ã¢ã«ãŽãªãºã ã®éªšæ Œãå®çŸ©ããŸãããã¢ã«ãŽãªãºã ã®æ§é ãå€ããã«ãµãã¯ã©ã¹ã§ç¹å®ã®ã¹ããããåå®çŸ©ãããŸãã
- ãªãã¶ãŒããŒãã¿ãŒã³: ãªãã¶ãŒããŒãã¿ãŒã³ã¯ããªããžã§ã¯ãéã«äžå¯Ÿå€ã®äŸåé¢ä¿ãå®çŸ©ãããããªããžã§ã¯ãã®ç¶æ ãå€åãããšããã®ãã¹ãŠã®äŸåãªããžã§ã¯ããèªåçã«éç¥ãããæŽæ°ãããããã«ããŸãã
- ã€ãã³ããã¹ãã¿ãŒã³: äžå€®ã®ã€ãã³ããã¹ãéããŠã³ã³ããŒãã³ããéä¿¡ã§ããããã«ããããšã§ãã³ã³ããŒãã³ããåé¢ããŸããã³ã³ããŒãã³ãã¯ãã¹ã«ã€ãã³ããçºè¡ã§ããä»ã®ã³ã³ããŒãã³ãã¯ç¹å®ã®ã€ãã³ãã賌èªããŠãããã«åå¿ã§ããŸããããã¯ãç¹ã«å€ãã®ã³ã³ããŒãã³ããçžäºã«éä¿¡ããå¿ èŠãããå Žåã«ãã¹ã±ãŒã©ãã«ã§ä¿å®æ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®éåžžã«æçšãªãã¿ãŒã³ã§ãã
çµè«
JavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ã¯ãJavaScriptã¢ããªã±ãŒã·ã§ã³ã«ãããŠã¢ã¯ã·ã§ã³ãã«ãã»ã«åããççµåãä¿é²ããã³ãŒãã®æ§æã匷åããããã®äŸ¡å€ãããã¯ããã¯ã§ããã³ãã³ããã¿ãŒã³ãJavaScriptã¢ãžã¥ãŒã«ãšçµã¿åãããããšã§ãéçºè ã¯ãç¹ã«ã°ããŒãã«ãªãœãããŠã§ã¢éçºã®æèã§ãããä¿å®ããããããã¹ããããããã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãããã®ãã¿ãŒã³ã¯ã忣ããããŒã éã®ããè¯ãã³ã©ãã¬ãŒã·ã§ã³ãå¯èœã«ããããŒã«ãªãŒãŒã·ã§ã³ãšåœéåãä¿é²ãããã°ãå°å ¥ãããªã¹ã¯ã軜æžããŸããæ£ããå®è£ ãããã°ãéçºããã»ã¹å šäœã®å質ãšå¹çãå€§å¹ ã«åäžãããæçµçã«ã¯ã°ããŒãã«ãªèŽè¡ã«ãšã£ãŠããè¯ããœãããŠã§ã¢ã«ã€ãªãããŸãã
è°è«ããããã¹ããã©ã¯ãã£ã¹ãšä»£æ¿æ¡ãæ éã«æ€èšããããšã§ãJavaScriptã¢ãžã¥ãŒã«ã³ãã³ããã¿ãŒã³ã广çã«æŽ»çšããŠã倿§ã§èŠæ±ã®å³ããã°ããŒãã«åžå Žã®ããŒãºãæºããå ç¢ã§é©å¿æ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸããã¢ãžã¥ãŒã«æ§ãšã¢ã¯ã·ã§ã³ã®ã«ãã»ã«åãåãå ¥ããŠãæ©èœçã§ããã ãã§ãªããä¿å®å¯èœã§ã¹ã±ãŒã©ãã«ã§ã楜ããäœæ¥ã§ãããœãããŠã§ã¢ãäœæããŠãã ããã