颿° â åå©ç¨å¯è½ãªã³ã¼ããããã¯
ã³ã¼ãã£ã³ã°ã«ããã¦ãä¸å¯æ¬ ãªæ¦å¿µã颿°ã§ãã颿°ã使ç¨ãããã¨ã§ãç¹å®ã®ã¿ã¹ã¯ãããªãã³ã¼ããå®ç¾©ããä¿æãã¦ããã¦ããã¤ã§ãç°¡åãªã³ãã³ãã§å¼ã³åºããã¨ãå¯è½ã«ãã¦ããã¾ããåãã³ã¼ããä½åº¦ãæããªããã°ãªããªãããã¨ã£ã¦ãç°¡åã§ãããã®è¨äºã§ã¯ãåºæ¬çãªæ§æã颿°ãå¼ã³åºãæ¹æ³ãå®ç¾©ããæ¹æ³ãã¹ã³ã¼ãã弿°ã¨ãã£ãã颿°ã«é¢ããåºæ¬çãªæ¦å¿µã«ã¤ãã¦è§£èª¬ãã¾ãã
| åæç¥è: | HTMLããã³CSS ã®åºç¤ãçè§£ããããã¾ã§ã®ã¬ãã¹ã³ã§èª¬æãã JavaScript ãææ¡ãã¦ãããã¨ã |
|---|---|
| å¦ç¿ææ: |
|
颿°ã¯ã©ãã«ããã
JavaScript ã®ä¸ã§ã颿°ã¯ããããã¨ããã«è¦ã¤ããã§ããããå®ã®ã¨ãããããã¾ã§ã®ã³ã¼ã¹å ¨ä½ãéãã¦ã颿°ã使ã£ã¦ãã¾ãããããã«ã¤ãã¦ã¯ãã¾ã触ãã¦ãã¾ããã§ãããããããä»ããæç¢ºã«é¢æ°ã«ã¤ãã¦è©±ãå§ããæ§æãæ¢æ±ããææã§ãã
æ¬å¼§ã®ãã¢ãç¹å¾´ã¨ãã JavaScript ã®æ§é ã使ç¨ããã»ã¨ãã©ã®å ´åããã㦠for ã«ã¼ããwhile 㨠do...while ã«ã¼ããã¾ã㯠if...else æã®ãããªä¸è¬çãªè¨èªæ§é ã使ç¨ãã¦ããªãå ´åã颿°ã使ç¨ãã¦ãããã¨ã«ãªãã¾ãã
ãã©ã¦ã¶ã¼çµã¿è¾¼ã¿é¢æ°
ãã®ã³ã¼ã¹ã§ã¯ããã©ã¦ã¶ã¼ã®çµã¿è¾¼ã¿æ©è½ãå¹ åºãæ´»ç¨ãã¦ãã¾ããã
ä¾ãã°ãããã¹ãæååãæä½ããã¨ãã
const myText = "I am a string";
const newString = myText.replace("string", "sausage");
console.log(newString);
// replace() æåå颿°ã¯ãå¯¾è±¡ã®æååã¨å
ã®æååã
// åãåããå
ã®æååãå¯¾è±¡ã®æååã«ç½®ãæãã¦ã
// æ°ããå½¢æããæååãè¿ãã¾ãã
ã¾ãã¯ãé åãæä½ããã¨ãã
const myArray = ["I", "love", "chocolate", "frogs"];
const madeAString = myArray.join(" ");
console.log(madeAString);
// join() 颿°ã¯é
åãåãåããé
åã®ãã¹ã¦ã®
// é
ç®ãåä¸ã®æååã«çµåããæ°ããæååã
// è¿ãã¾ãã
ã¾ãã¯ãä¹±æ°ãçæããã¨ãã
const myNumber = Math.random();
// random() 颿°ã¯ã 0 ãã 1 ã¾ã§ã®ä¹±æ°ãçæãã
// ãã®ä¹±æ°ãè¿ãã¾ãã
ç§ãã¡ã¯é¢æ°ã使ã£ã¦ãã¾ããã
ã¡ã¢: ãããã®æ©è½ã«æ £ããããã«ãå¿ è¦ãªã¨ãã«ã¯ãããã£ãè¡ããã©ã¦ã¶ã¼ã® JavaScript ã³ã³ã½ã¼ã«ã«å ¥åãã¦ã¿ã¦ãã ããã
JavaScript è¨èªã«ã¯ããããã®çµã¿è¾¼ã¿é¢æ°ãããã®ã§ããããããããããããã¨ããå ¨é¨ãèªåèªèº«ã§æ¸ããªãã¦ããã¿ã¾ããå®ã¯ãå¼ã³åºãã¦èµ·åï¼èµ°ããããå®è¡ãããã¨ã®å¥ã®è¨ãæ¹ï¼ããã³ã¼ãã®ããã¤ãã¯ãJavaScript ã§ã¯æ¸ããªãããã©ã¦ã¶ã¼çµã¿è¾¼ã¿é¢æ°ã§ã â ãããã£ã颿°ã®å¤ãã¯ãèå¾ã®ãã©ã¦ã¶ã¼ã®ã³ã¼ããå¼ã³åºãã¦ãã¦ãããã㯠JavaScript ã®ãããªã¦ã§ãè¨èªã§ã¯ãªãã大åã C++ ã®ãããªä½æ°´æºã®ã·ã¹ãã è¨èªã§æ¸ããã¦ãã¾ãã
ãã©ã¦ã¶ã¼é¢æ°ã®ããã¤ã㯠JavaScript è¨èªã®ã³ã¢ã«å«ã¾ããªããã¨ãå¿ã«çãã¦ããã¦ãã ãããããã¤ãã¯ãã©ã¦ã¶ã¼ API ã®ä¸é¨ã¨ãã¦å®ç¾©ããã¦ãã¦ããã£ã¨å¤ãã®æ©è½ãæä¾ãã¹ãããã©ã«ãã®è¨èªã®ä¸ã§æ§ç¯ããã¦ãã¾ãï¼è©³ããã¯ç§ãã¡ã®ã³ã¼ã¹ã®ãã®ä»¥åã®ç¯ãè¦ã¦ãã ããï¼ããã©ã¦ã¶ã¼ API ã®ãã£ã¨è©³ããä½¿ãæ¹ã«ã¤ãã¦ã¯ãå¾ã®æ¹ã®ã¢ã¸ã¥ã¼ã«ã§è¦ã¦ããäºã«ãªãã§ãããã
颿°ã¨ã¡ã½ãã
颿°ã®ãã¡ããªãã¸ã§ã¯ãã®ä¸é¨ã§ãããã®ã¯ã¡ã½ããã¨å¼ã°ãã¾ãããªãã¸ã§ã¯ãã«ã¤ãã¦ã¯ããã®ã¢ã¸ã¥ã¼ã«ã®å¾åã§å¦ã³ã¾ãã ããã§ã¯ãã¡ã½ããã¨é¢æ°ã«ã¤ãã¦å¯è½ãªéãæ··ä¹±ãè§£æ¶ãããã¨æãã¾ããã¦ã§ãä¸ã®é¢é£ãªã½ã¼ã¹ãè¦ã¦ããã¨ããã® 2 ã¤ã®ç¨èªã«ã©ã¡ããç®ã«ããæ©ä¼ãããã§ãããã
ããã¾ã§å©ç¨ãã¦ããçµã¿è¾¼ã¿é¢æ°ã¯ä¸¡æ¹ã§ãã颿°ã§ããã¡ã½ããã§ãããã¾ããçµã¿è¾¼ã¿ãªãã¸ã§ã¯ãã¨ãã®ã¡ã½ããã¨åæ§ã«ãçµã¿è¾¼ã¿é¢æ°ã®ä¸è¦§ã¯ JavaScript ãªãã¡ã¬ã³ã¹ã§ç¢ºèªã§ãã¾ãã
ãã®ã³ã¼ã¹ã®ããã¾ã§ã§ãããããã®ã«ã¹ã¿ã 颿°ãè¦ã¦ãã¾ããããã©ã¦ã¶ã¼ã®å
é¨ã§ã§ã¯ãªãããªãã®ã³ã¼ãã®ä¸ã§å®ç¾©ããã颿°ã§ããç¬èªã®ååã®ç´å¾ã«ã«ãã³ãã¤ãã¦ããã®ãè¦ãããããããã¯ã«ã¹ã¿ã 颿°ã使ã£ã¦ããã¨ãããã¨ã§ããã«ã¼ãã®è¨äºã§åºã¦ãã random-canvas-circles.html ã®ä¾ï¼ã½ã¼ã¹ã³ã¼ãã¯ãã¡ãï¼ã«ã¯ãç¬èªã«ä½ã£ã draw() 颿°ãå«ã¾ãã¦ãã¾ãããæ¬¡ã®ãããªãã®ã§ãã
function draw() {
ctx.clearRect(0, 0, WIDTH, HEIGHT);
for (let i = 0; i < 100; i++) {
ctx.beginPath();
ctx.fillStyle = "rgb(255 0 0 / 50%)";
ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI);
ctx.fill();
}
}
ãã®é¢æ°ã¯ã<canvas> è¦ç´ ã®ä¸ã« 100 åã®ã©ã³ãã ãªåãæãã¾ããããããå¦çãããããã¨ããæ¯åãã®ã³ã¼ãããã¹ã¦æ¸ãç´ãå¿
è¦ã¯ãªããæ¬¡ã®ããã«é¢æ°ãå¼ã³åºãã ãã§æ¸ã¿ã¾ãã
draw();
颿°ã«ã¯ãä»ã®é¢æ°ã®å¼ã³åºããå«ããä»»æã®ã³ã¼ããè¨è¿°ãããã¨ãã§ãã¾ããä¾ãã°ãä¸è¨ã§è¦ã draw() 颿°ã¯ random() 颿°ã 3 åå¼ã³åºãã¦ãã¾ãããrandom() ã¯ä»¥ä¸ã®ã³ã¼ãã§å®ç¾©ããã¦ãã¾ãã
function random(number) {
return Math.floor(Math.random() * number);
}
ãã©ã¦ã¶ã¼çµã¿è¾¼ã¿ã® Math.random() 㯠0 ãã 1 ã¾ã§ã®éã® 10 鲿°ã®ä¹±æ°ã使ããã ããªã®ã§ãç§ãã¡ã«ã¯ãã®é¢æ°ãå¿
è¦ã§ãããç§ãã¡ã¯ 0 ããæå®ããæ°ã«ãããä¹±æ°ã欲ããã£ãã®ã§ãã
颿°ã®å¼ã³åºã
ãããããåç¥ã§ããããã§ã念ã®ãããå®ç¾©ããå¾ã§å®éã«é¢æ°ã使ãã«ã¯ã颿°ãèµ°ããã¾ãï¼å¼ã³åºãã¾ãï¼ãããã¯ã³ã¼ãã®ã©ããã«é¢æ°ã®ååãç´å¾ã«ã«ãã³ã®çµãæ¸ãã°ã§ãã¾ãã
function myFunction() {
alert("hello");
}
myFunction();
// 颿°ãä¸åº¦å¼ã³åºã
ã¡ã¢: ãã®é¢æ°ã®ä½ææ¹æ³ã¯ã颿°å®£è¨ãã¨ãå¼ã°ãã¾ããããã¯å¸¸ã«å·»ãä¸ããè¡ããããããå®ç¾©ãããåã®å ´æã§é¢æ°ãå¼ã³åºãã¦ããåé¡ãªãåä½ãã¾ãã
颿°ã®å®å¼æ°ã¨ä»®å¼æ°
颿°ã«ãã£ã¦ã¯ãå¼ã³åºãéã«å¼æ°ï¼å®å¼æ°ãargumentï¼ãå¿ è¦ã¨ãããã®ãããã¾ããããã¯ã颿°ãæ£ããåä½ããããã«ã颿°ã®æ¬å¼§å ã«è¨è¼ããå¿ è¦ãããå¤ã®ãã¨ã§ãã
ã¾ãã仮弿° (parameter) ã¨ããç¨èªãè³ã«ãããã¨ãããã§ããããããã¯å¤ãã®å ´åãå®å¼æ° (argument) ã¨æ··åãã¦ä½¿ããã¾ããéå ¬å¼ãªä¼è©±ã§ã¯ããã§åé¡ãªããã¨ãå¤ãã®ã§ããã両è ã«ã¯ç°ãªãæå³ãããã¾ãã仮弿°ã¨ã¯ã颿°ã®å®ç¾©ã«æ²è¼ããã¦ãã夿°ã®ãã¨ã§ããã䏿¹ãå®å¼æ°ã¨ã¯ã颿°ãå¼ã³åºãããéã«ã颿°ã«æ¸¡ããã¦ããããã®ä»®å¼æ°ã表ãããã®å¤ã®ãã¨ã§ãã
ä¾ãè¦ã¦ã¿ã¾ãããããã©ã¦ã¶ã¼å
èµã® Math.random() 颿°ã¯å®å¼æ°ãå¿
è¦ã¨ãã¾ãããå¼ã³åºãããã¨ã常㫠0 ãã 1 ã¾ã§ã®éã®ä¹±æ°ãè¿ãã¾ãã
const myNumber = Math.random();
ããããæååã® replace() 颿°ã¯ã主ããæååã®ä¸ã§æ¢ãé¨åæååã¨ããã®æååãç½®ãæããé¨åæååã® 2 ã¤ã®å¼æ°ãå¿
è¦ã¨ãã¾ãã
const myText = "I am a string";
const newString = myText.replace("string", "sausage");
ã¡ã¢: è¤æ°ã®å®å¼æ°ã仮弿°ãæå®ããå¿ è¦ãããå ´åã¯ãã«ã³ãã§åºåãã¾ãã
ãªãã·ã§ã³å¼æ°
弿°ã¯ããªãã·ã§ã³ã¨ãã¦å®ç¾©ããã¦ããå ´åãããã¾ãããã®å ´åã颿°ãå¼ã³åºãéã«ãããã«å¯¾å¿ããå®å¼æ°ãæå®ããå¿
è¦ã¯ããã¾ãããæå®ããªãå ´åã颿°ã¯é常ãããã©ã«ãå¤ã使ç¨ãã¾ããä¾ãã°ãé
åã® join() 颿°ã®å¼æ°ã¯ãªãã·ã§ã³ã§ãã
const myArray = ["I", "love", "chocolate", "frogs"];
const madeAString = myArray.join(" ");
console.log(madeAString);
// 'I love chocolate frogs' ãè¿ã
const madeAnotherString = myArray.join();
console.log(madeAnotherString);
// 'I,love,chocolate,frogs' ãè¿ã
çµå/åºåãæåãæå®ããå®å¼æ°ãæå®ãããªãã£ãå ´åãããã©ã«ãã§ã¯ã«ã³ãã使ç¨ããã¾ãã
ããã©ã«ã弿°
颿°ãæ¸ãã¦ãã¦ããªãã·ã§ã³å¼æ°ãå®ç¾©ãããå ´åã¯ã弿°åã®å¾ã« = ãã¤ãããã®å¾ã«ããã©ã«ãå¤ãç¶ãããã¨ã§ããã©ã«ãå¤ãæå®ãããã¨ãã§ãã¾ãã
function hello(name = "Chris") {
console.log(`Hello ${name}!`);
}
hello("Ari"); // Hello Ari!
hello(); // Hello Chris!
ç¡å颿°ã¨ã¢ãã¼é¢æ°
ããã¾ã§ã¯ããã®ããã«é¢æ°ã使ãã¦ãã¾ããã
function myFunction() {
alert("hello");
}
ããããååãæããªã颿°ã使ãããã¨ãã§ãã¾ãã
(function () {
alert("hello");
});
ããã¯ååããªããããç¡å颿°ã¨å¼ã°ãã¾ãã颿°ã弿°ã¨ãã¦å¥ã®é¢æ°ãåãåãå ´åãç¡å颿°ãããç¨ãããã¾ãããã®ãããªå ´åãç¡å颿°ãããå®å¼æ°ã¨ãã¦æ¸¡ããã¾ãã
ã¡ã¢: ãã®å½¢ã§é¢æ°ã使ãããã¨ã¯ã颿°å¼ã¨ãå¼ã°ãã¾ãã颿°å®£è¨ã¨ã¯ç°ãªãã颿°å¼ã¯å·»ãä¸ããè¡ããã¾ããã
ç¡å颿°ã®ä¾
ä¾ãã°ãã¦ã¼ã¶ã¼ãããã¹ãããã¯ã¹ã«å
¥åããã¨ãã«ä½ããã®ã³ã¼ããå®è¡ãããã¨ãã¾ãããããè¡ãã«ã¯ãããã¹ãããã¯ã¹ã® addEventListener() 颿°ãå¼ã³åºãã¾ãããã®é¢æ°ã¯å°ãªãã¨ã 2 ã¤ã®å®å¼æ°ãæå¾
ãã¾ãã
- å¾
ã¡åãããã¤ãã³ãã®ååããã®å ´åã¯
keydownã§ãã - ã¤ãã³ãçºçæã«å®è¡ãã颿°ã
ã¦ã¼ã¶ã¼ããã¼ãæ¼ãã¨ããã©ã¦ã¶ã¼ã¯æå®ããã颿°ãå¼ã³åºããã¦ã¼ã¶ã¼ãæ¼ããå ·ä½çãªãã¼ãå«ãããã®ã¤ãã³ãã«é¢ããæ å ±ãæ ¼ç´ãã弿°ã渡ãã¾ãã
function logKey(event) {
console.log(`"${event.key}" ãæ¼ããã¾ããã`);
}
textBox.addEventListener("keydown", logKey);
ç¬ç«ãã logKey() 颿°ãå®ç¾©ãã代ããã«ãç¡å颿°ã addEventListener() ã«æ¸¡ããã¨ãã§ãã¾ãã
textBox.addEventListener("keydown", function (event) {
console.log(`"${event.key}" ãæ¼ããã¾ããã`);
});
ã¢ãã¼é¢æ°
ãã®ããã«ç¡å颿°ã渡ãå ´åãã¢ãã¼é¢æ°ã¨ããå¥ã®å½¢å¼ã使ç¨ãããã¨ãã§ãã¾ãã function(event) ã®ä»£ããã« (event) => ã¨æ¸ãã¾ãã
textBox.addEventListener("keydown", (event) => {
console.log(`"${event.key}" ãæ¼ããã¾ããã`);
});
弿°ã 1 ã¤ããåããªã颿°ã®å ´åã弿°ãå²ãæ¬å¼§ã¯çç¥ã§ãã¾ãã
textBox.addEventListener("keydown", event => {
console.log(`"${event.key}" ãæ¼ããã¾ããã`);
});
æå¾ã«ã颿°ã®ä¸èº«ã return æã® 1 è¡ã ãã§ããã°ã䏿¬å¼§ã¨ return ãã¼ã¯ã¼ããçç¥ãã¦å¼ãæé»çã«è¿ããã¨ãã§ãã¾ããæ¬¡ã®ä¾ã§ã¯ã Array ã® map() ã¡ã½ããã使ç¨ãã¦ãå
ã®é
åã®ãã¹ã¦ã®å¤ãåã«ãã¦ãã¾ãã
const originals = [1, 2, 3];
const doubled = originals.map(item => item * 2);
console.log(doubled); // [2, 4, 6]
map() ã¡ã½ããã¯ãé
åå
ã®ããããã®ã¢ã¤ãã ãæå®ããã颿°ã«æ¸¡ãããã®é¢æ°ã®è¿å¤ãåå¾ãã¦æ°ããé
åã«è¿½å ãã¾ãã
ã¢ãã¼é¢æ°ã¯ã¨ã¦ãç°¡æ½ã§ããmap() ã®ã³ã¼ãããé常ã®ç¡åã³ã¼ã«ããã¯é¢æ°ã使ã£ã¦æ¸ãç´ãã¨ã次ã®ããã«ãªãã¾ãã
const doubled = originals.map(function (item) {
return item * 2;
});
åãç°¡æ½ãªã¢ãã¼é¢æ°æ§æã使ç¨ã㦠addEventListener() ã®ä¾ãæ¸ãæãããã¨ãã§ãã¾ãã
textBox.addEventListener("keydown", (event) =>
console.log(`"${event.key}" ãæ¼ããã¾ããã`)
);
ãã®å ´åã console.log() ã®å¤ã undefined ãæé»çã«ã³ã¼ã«ããã¯é¢æ°ããè¿ããã¾ãã
ã¢ãã¼é¢æ°ã使ç¨ãããã¨ã§ãã³ã¼ããããçããèªã¿åãããããããã¨ãã§ãã¾ãã®ã§ã使ç¨ãããã¨ããå§ããã¾ãã詳ããã¯ã JavaScript ã¬ã¤ãã®ã¢ãã¼é¢æ°ã®ç¯ ããã¢ãã¼é¢æ°ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ ãåç §ãã¦ãã ããã
ã¡ã¢: ã¢ãã¼é¢æ°ã¨é常ã®é¢æ°ã«ã¯å¾®å¦ãªéããããã¾ãããããã¯ãã®å ¥éã¬ã¤ãã®ç¯å²å¤ã§ãããããã§èª¬æãããããªã±ã¼ã¹ã§éããçãããã¨ã¯ã»ã¨ãã©ããã¾ããã詳ããã¯ã¢ãã¼é¢æ°ã®ãªãã¡ã¬ã³ã¹ããã¥ã¡ã³ããåç §ãã¦ãã ããã
ã¢ãã¼é¢æ°ã®ã©ã¤ããµã³ãã«
次ã®ãã®ã¯ãå
ã»ã©èª¬æãã keydown ã®ãµã³ãã«ãå®å
¨ã«åä½ããããã«ãããã®ã§ãã
HTML:
<input id="textBox" type="text" />
<div id="output"></div>
JavaScript:
const textBox = document.querySelector("#textBox");
const output = document.querySelector("#output");
textBox.addEventListener("keydown", (event) => {
output.textContent = `"${event.key}" ãæ¼ããã¾ããã`;
});
çµæã§ããããã¹ãããã¯ã¹ã«å ¥åãã¦åºåãè¦ã¦ãã ããã
颿°ã®ã¹ã³ã¼ãã¨ç«¶å
ã¹ã³ã¼ãã¨ããè¨èã«ã¤ãã¦èª¬æãã¦ããã¾ãããã颿°ãæ±ãéã«ã¯å¤§åãªæ¦å¿µã§ãã颿°ã使ããã¨ãã颿°ã®ä¸ã§å®ç¾©ããã¦ãã夿°ã颿°ã¯ãå é¨ã§ããããç¬èªã®ã¹ã³ã¼ãã¨ãããã®ãæã¡ã¾ããããã¯ãããããç¬èªã®å°é¨å±ã«éãè¾¼ãããã¦ãã¦ãå¥ã®é¢æ°ã®å é¨ããããããã¯ãã®é¢æ°ã®å¤é¨ã®ã³ã¼ããã触ãããããªããã¨ãæå³ãã¦ãã¾ãã
ãã¹ã¦ã®é¢æ°ã®å¤å´ã§ããæä¸ä½ããã°ãã¼ãã«ã¹ã³ã¼ãã¨å¼ã³ã¾ããã°ãã¼ãã«ã¹ã³ã¼ãã§å®ç¾©ãããå¤ã¯ãã¹ã¦ãã³ã¼ãã®ã©ãããã§ãã¢ã¯ã»ã¹ã§ãã¾ãã
JavaScript ããã®ããã«åä½ããã®ã¯ã主ã«ã»ãã¥ãªãã£ã¨ã³ã¼ãã®æ´çæ´é ã®ããã§ããã³ã¼ãå ã®ããããå ´æãã夿°ã«ã¢ã¯ã»ã¹ã§ããç¶æ ã«ããããªãå ´åãããããã§ããå¤é¨ããå¼ã³åºãããã¹ã¯ãªããããåã夿°åã使ç¨ãããã¨ã§ã³ã¼ããæ··ä¹±ãããç«¶åãå¼ãèµ·ãããåé¡ãçããããå¯è½æ§ãããã¾ããããã¯æªæãæã£ã¦è¡ãããå ´åãããã°ãåãªãå¶ç¶ã®å ´åãããã¾ãã
ä¾ãã°ããã HTML ãã¡ã¤ã«ã 2 ã¤ã®å¤é¨ JavaScript ãã¡ã¤ã«ãåç §ãã¦ããã¨ãã¦ããã®ã©ã¡ããåãååã®å¤æ°ã¨é¢æ°ãå®ç¾©ãã¦ããã¨ãã¾ãã
<!-- Excerpt from the HTML -->
<script src="first.js"></script>
<script src="second.js"></script>
<script>
greeting();
</script>
// first.js
const name = "Chris";
function greeting() {
alert(`${name} ãããããã«ã¡ã¯ãå½ç¤¾ã¸ããããã`);
}
// second.js
const name = "Zaptec";
function greeting() {
alert(`å½ç¤¾ã¯ ${name} ã¨å¼ã°ãã¦ãã¾ãã`);
}
ãã®ä¾ã GitHub ã§ã©ã¤ãå®è¡ ã§ãã¾ãï¼ã½ã¼ã¹ã³ã¼ãã¯ãã¡ãï¼ã以ä¸ã®èª¬æãèªãåã«ãå¥ã®ãã©ã¦ã¶ã¼ã¿ãã§éãã¦ãã ããã
-
ãã®ãµã³ãã«ããã©ã¦ã¶ã§è¡¨ç¤ºããã¨ãã¾ã
Hello Chris: welcome to our company.ã¨è¡¨ç¤ºãããã¢ã©ã¼ãããã¯ã¹ã表示ããã¾ããããã¯ãæåã®ã¹ã¯ãªãããã¡ã¤ã«å ã§å®ç¾©ãããgreeting()颿°ããå é¨ã¹ã¯ãªããå ã®greeting()ã®å¼ã³åºãã«ãã£ã¦å®è¡ããããã¨ãæå³ãã¾ãã -
ãããã2 ã¤ç®ã®ã¹ã¯ãªããã¯ã¾ã£ããèªã¿è¾¼ã¾ãããå®è¡ããããã³ã³ã½ã¼ã«ã«
Uncaught SyntaxError: Identifier 'name' has already been declaredã¨ããã¨ã©ã¼ã表示ããã¾ããããã¯ãnameã¨ãã宿°ããã§ã«first.jsã§å®£è¨ããã¦ãããåãã¹ã³ã¼ãå ã§åã宿°ã 2 å宣è¨ãããã¨ã¯ã§ããªãããã§ãã2 ã¤ç®ã®ã¹ã¯ãªãããèªã¿è¾¼ã¾ããªãã£ããããsecond.jsã®greeting()颿°ãå¼ã³åºããã¨ã¯ã§ãã¾ããã -
ãã
const name = "Zaptec";ã¨ããè¡ãsecond.jsããåé¤ãã¦ãã¼ã¸ãåèªã¿è¾¼ã¿ããã¨ã両æ¹ã®ã¹ã¯ãªãããå®è¡ããã¾ããã¢ã©ã¼ãããã¯ã¹ã«ã¯ãOur company is called Chris.ã¨è¡¨ç¤ºãããããã«ãªãã¾ãã颿°ãå宣è¨ãããå ´åãã½ã¼ã¹ã³ã¼ãå ã®é åºã§æå¾ã«è¨è¿°ããã宣è¨ã使ç¨ããã¾ãããã以åã®å®£è¨ã¯äºå®ä¸ä¸æ¸ãããã¾ãã
ã³ã¼ãã®ä¸é¨ã颿°å ã«ã¾ã¨ãããã¨ã§ãããããåé¡ãåé¿ã§ãããã¹ããã©ã¯ãã£ã¹ã¨ããã¦ãã¾ãã
ããã¯åç©åã«ä¼¼ã¦ãã¾ããã©ã¤ãªã³ãã·ãã¦ãããã©ããã³ã®ã³ã¯ããããå°ç¨ã®æª»ã«å ¥ãããã¦ããããã®ä¸ã«ãããã®ããå©ç¨ã§ãã¾ãããããã¯é¢æ°ã¹ã³ã¼ãã«ä¼¼ã¦ãã¾ããããå½¼ããä»ã®æª»ã®ä¸ã«ä¾µå ¥ã§ãããåé¡ãèµ·ãããã¨ã§ããããè¯ãã¦ãç¥ããªãä½äººã«å²ã¾ãã¦æ°ã¾ããæãããã¾ããå¯ãã¦æ°´ã ããã®ãã³ã®ã³ã®æª»ã«å ¥ã£ãã©ã¤ãªã³ããã©ã¯é ·ãæ°åã«ãªãã§ããããææªã®å ´åãã©ã¤ãªã³ããã©ã¯ãã³ã®ã³ãé£ã¹ã¦ã¿ããã¨ããããããã¾ããã

åç©åã®é£¼è²ä¿ã¯ã°ãã¼ãã«ã¹ã³ã¼ãã®ãããªãã®ã§ããå½¼ãã¯ãã¹ã¦ã®æª»ã«ã¢ã¯ã»ã¹ããéµãæã£ã¦ãããé¤ãè£å ããããç æ°ã®åç©ã®ä¸è©±ãããããã¾ãã
ã¹ã³ã¼ãã§éãã§ã¿ãã
ã¹ã³ã¼ãã示ãããã®å®éã®ä¾ãè¦ã¦ã¿ã¾ãããã
-
ã¾ã function-scope.html ã®ä¾ã®ãã¼ã«ã«ã³ãã¼ã使ãã¾ããããã«ã¯
a()ã¨b()ã¨ãã 2 ã¤ã®é¢æ°ã¨ãxãyãzã® 3 ã¤ã®å¤æ°ãå«ã¾ãã¾ãããããã®å¤æ°ã®ãã¡ 2 ã¤ã¯é¢æ°å ã§å®ç¾©ããããã 1 ã¤ã¯ã°ãã¼ãã«ã¹ã³ã¼ãå ã§å®ç¾©ããã¾ããã¾ãoutput()ã¨ãã 3 çªç®ã®é¢æ°ãå«ã¾ãã¦ãã¾ãããã®é¢æ°ã¯åä¸ã®å¼æ°ãåãããã¼ã¸ã®æ®µè½ã«åºåãã¾ãã -
ãã©ã¦ã¶ã¼ã¨ããã¹ãã¨ãã£ã¿ã¼ã§ãµã³ãã«ãéãã¾ãã
-
ãã©ã¦ã¶ã¼ã®éçºè ãã¼ã«ã§ JavaScript ã³ã³ã½ã¼ã«ãéãã¾ããJavaScript ã³ã³ã½ã¼ã«ã§ã次ã®ã³ãã³ããå ¥åãã¾ãã
jsoutput(x);夿°
xã®åºåå¤ãç»é¢ã«è¡¨ç¤ºãããã¯ãã§ãã -
ã³ã³ã½ã¼ã«ã«æ¬¡ã®ããã«å ¥åãã¦ã¿ã¦ãã ãã
jsoutput(y); output(z);ã©ã¡ããã "ReferenceError: y is not defined" ã®ä¸è¡ã®ã¨ã©ã¼ãè¿ãããã¯ãã§ãããªãã§ããããï¼ é¢æ°ã¹ã³ã¼ãã®ãããã¤ã¾ã
yã¨zã¯a()ã¨b()颿°ã®ä¸ã§ããã¯ããã¦ããã®ã§ãã°ãã¼ãã«ã¹ã³ã¼ãããå¼ã³åºãããã¨ãã«ã¯output()ã¯ãããã«ã¢ã¯ã»ã¹ã§ãã¾ããã -
ããããå¥ã®é¢æ°ã®ä¸ããå¼ã³åºãããã¨ãã¯ã©ãã§ããããï¼
a()ã¨b()ãæ¬¡ã®ããã«ç·¨éãã¦ã¿ã¦ãã ãããjsfunction a() { const y = 2; output(y); } function b() { const z = 3; output(z); }ã³ã¼ããä¿åãã¦ãã©ã¦ã¶ã¼ã«åãã¼ããã¦ããã JavaScript ã³ã³ã½ã¼ã«ãã
a()ã¨b()颿°ãå¼ã³åºãã¦ã¿ã¦ãã ãããjsa(); b();ãã©ã¦ã¶ã¼ã®ãã¥ã¼ãã¼ãã«
yã¨zã®å¤ã表示ãããã¯ãã§ããããã¯æ£å¸¸ã«åä½ãã¾ãããªããªããoutput()颿°ã¯ä»ã®é¢æ°å ã§å¼ã³åºããã¦ãããåºåããã夿°ãå®ç¾©ããã¦ããã®ã¨åãã¹ã³ã¼ãå ã«ããããã§ããoutput()èªä½ã¯ã°ãã¼ãã«ã¹ã³ã¼ãã§å®ç¾©ããã¦ãããããã©ãããã§ãå©ç¨å¯è½ã§ãã -
ä»åº¦ã¯æ¬¡ã®ããã«ã³ã¼ããæ´æ°ãã¦ã¿ã¦ãã ããã
jsfunction a() { const y = 2; output(x); } function b() { const z = 3; output(x); }ä¿åãã¦ããä¸åº¦èªã¿è¾¼ã¿ã JavaScript ã³ã³ã½ã¼ã«ã§ããä¸åº¦è©¦ãã¦ã¿ã¦ãã ããã
jsa(); b();a()ã¨b()ã®ä¸¡æ¹ã®å¼ã³åºãã¯xã®å¤ãã¤ã¾ã 1 ãåºåããã¾ããããã¯xãã°ãã¼ãã«å¤æ°ã§ããããã¹ã¦ã®ã³ã¼ãå ã©ãã§ãå©ç¨å¯è½ã§ãããããoutput()ã®å¼ã³åºããxã¨åãã¹ã³ã¼ãã§ã¯ãªãã¦ããã¾ãåãã¾ãã -
æå¾ã«ã次ã®ããã«ã³ã¼ããæ´æ°ãã¦ã¿ã¦ãã ããã
jsfunction a() { const y = 2; output(z); } function b() { const z = 3; output(y); }ä¿åãã¦ããä¸åº¦èªã¿è¾¼ã¿ã JavaScript ã³ã³ã½ã¼ã«ã§ããä¸åº¦è©¦ãã¦ã¿ã¦ãã ããã
jsa(); b();ä»åº¦ã¯
a()ã¨b()ã®ä¸¡æ¹ã®å¼ã³åºãã§ãè¿·æãª "ReferenceError: variable name is not defined" ã¨ã©ã¼ãè¿ããã¾ããããã¯output()å¼ã³åºãã¨ãåºåãããã¨ãã¦ãã夿°ãåã颿°ã®ã¹ã³ã¼ãã«ãªããã¤ã¾ããããã®é¢æ°å¼ã³åºãããã¯å¤æ°ãåç §ã§ããªãç¶æ ã ããã§ãã
ã¡ã¢: ReferenceError: "x" is not defined ã¨ããã¨ã©ã¼ã¯ãééããæãä¸è¬çãªã¨ã©ã¼ã® 1 ã¤ã§ãããã®ã¨ã©ã¼ãçºçããåé¡ã®å¤æ°ãå®ç¾©ããã¦ããã¨ç¢ºä¿¡ã§ããå ´åã¯ã夿°ã®ã¹ã³ã¼ãã確èªãã¦ãã ããã
ã«ã¼ãã¨æ¡ä»¶å¼ã®ã¹ã³ã¼ãã«é¢ããè£è¶³
ãªããæ¡ä»¶åå² ã ã«ã¼ã å
ã§å®£è¨ããã夿°ã®ã¹ã³ã¼ãã¯ãlet ã const ã使ç¨ãã¦å¤æ°ã宣è¨ããå ´åã®é¢æ°ã¹ã³ã¼ãã¨åæ§ã«æ©è½ãããã¨ã«æ³¨æãã¦ãã ããããã¨ãã°ãä¸è¨ã®ä¾ã«æ¬¡ã®ãããªãããã¯ã追å ããå ´åã¯æ¬¡ã®ããã«ãªãã¾ãã
if (x === 1) {
const c = 4;
let d = 5;
}
for (let i = 0; i <= 1; i++) {
const e = 6;
let f = 7;
}
output(c)ãoutput(d)ãoutput(e)ãoutput(f) ãå¼ã³åºãã¨ãå
ã»ã©ã¨åã same "ReferenceError: [夿°å] is not defined" ã¨ããã¨ã©ã¼ãçºçãã¾ãããããã®å¤æ°ã¯ããããã®ã¹ã³ã¼ãå
ã«éãè¾¼ãããã¦ãããããoutput() 颿°ããã¯ã¢ã¯ã»ã¹ã§ãã¾ããã
徿¥ã® var ãã¼ã¯ã¼ãã®åä½ã¯ç°ãªãã¾ãããã cãdãeãf ã var ã使ã£ã¦å®£è¨ããã¦ããå ´åãæ¬¡ã®ããã«ãªãã¾ãã
if (x === 1) {
var c = 4;
var d = 5;
}
for (let i = 0; i <= 1; i++) {
var e = 6;
var f = 7;
}
ãããã¯ã°ãã¼ãã«ã¹ã³ã¼ãã«æã¡ä¸ãããããããã³ã³ã½ã¼ã«ã«åºåããï¼ä¾ãã°ãoutput(c) ã使ç¨ãããªã©ï¼ã¨æ£å¸¸ã«åä½ãã¾ãã䏿¹ã颿°å
ã§ var ã使ç¨ãã¦å®£è¨ããã夿°ã¯ããã®é¢æ°å
ã«ã¹ã³ã¼ããéå®ãããã¾ã¾ã¨ãªãã¾ãã
ãã®ä¸è²«æ§ã®ãªãã¯ãæ··ä¹±ãã¨ã©ã¼ãçºçããããããããããvar ã®ä»£ããã« let ã const ã使ç¨ãã¹ãããä¸ã¤ã®çç±ã¨ãªã£ã¦ãã¾ãã
ã¾ã¨ã
ãã®è¨äºã§ã¯é¢æ°ã®èå¾ã«ããåºæ¬çãªæ¦å¿µãæ¢ããæ¬¡ã«å®ç¨çãªæ¹æ³ãç¿å¾ããç¬èªã®ã«ã¹ã¿ã 颿°ãæ§ç¯ããæé ãç´¹ä»ãã¾ããã
é¢é£æ å ±
- 颿°ã®è©³ç´°ã¬ã¤ã â ããã«å«ã¾ãã¦ããªãããã¤ãã®é«åº¦ãªæ©è½ã«ã¤ãã¦èª¬æãã¾ãã
- 颿°
- Using functions to write less code, Scrimba MDN å¦ç¿ãã¼ããã¼ - 便å©ãªé¢æ°ã®æ¦è¦ãç´¹ä»ããã¤ã³ã¿ã©ã¯ãã£ããªã¬ãã¹ã³ã§ãã