ã¯ãã¼ã¸ã£ã¯ãçµã¿åããããï¼å²ã¾ããï¼é¢æ°ã¨ããã®å¨å²ã®ç¶æ ï¼ã¬ãã·ã«ã«ç°å¢ï¼ã¸ã®åç §ã®çµã¿åããã§ããè¨ãæããã°ãã¯ãã¼ã¸ã£ã¯é¢æ°ã«ãã®å¤å´ã®ã¹ã³ã¼ãã«ã¢ã¯ã»ã¹ããæ©è½ãæä¾ãã¾ããJavaScript ã§ã¯ãã¯ãã¼ã¸ã£ã¯é¢æ°ã使ããããã³ã«ã颿°ä½ææç¹ã§ä½æããã¾ãã
ã¬ãã·ã«ã«ã¹ã³ã¼ã次ã®ãããªé¢æ°ãèãã¦ã¿ã¦ãã ããã
function init() {
var name = "Mozilla"; // name ã¯ãinit ã使ãããã¼ã«ã«å¤æ°
function displayName() {
// displayName() ã¯å
é¨ã«éãã颿°
console.log(name); // è¦ªé¢æ°ã§å®£è¨ããã夿°ã使ç¨
}
displayName();
}
init();
init()
颿°ã¯ãã¼ã«ã«å¤æ° name
ã使ãããããã颿° displayName()
ãå®ç¾©ãã¦ãã¾ããdisplayName()
㯠init()
ã®ä¸ã§å®ç¾©ããã¦ããå
é¨é¢æ°ã§ããã®é¢æ°æ¬ä½ã®å
é¨ã§ããå©ç¨ã§ãã¾ãããdisplayName()
èªä½ã¯ãã¼ã«ã«å¤æ°ãæã£ã¦ãã¾ããããå¤å´ã®ã¹ã³ã¼ãã§å®£è¨ããã夿°ã«ã¢ã¯ã»ã¹ã§ããã®ã§ãdisplayName()
ã§ã¯è¦ªé¢æ° init()
ã§å®£è¨ããã夿° name
ã使ç¨ã§ãã¾ãããããã displayName()
ã«åããã¼ã«ã«å¤æ°ãããã°ããã使ããã¾ãã
ãã® JSFiddle ãªã³ã¯ã使ç¨ãã¦ã³ã¼ããå®è¡ããã¨ãdisplayName()
颿°å
ã® console.log()
æãããã®è¦ªé¢æ°ã§å®£è¨ããã¦ãã name
夿°ã®å¤ãæ£å¸¸ã«è¡¨ç¤ºãã¦ãããã¨ã«æ³¨æãã¦ãã ãããããã¯ã¬ãã·ã«ã«ã¹ã³ã¼ãã®ä¾ã§ã颿°ãå
¥ãåã«ãªã£ã¦ããã¨ãã«ãã¼ãµã¼ãã©ã®ããã«å¤æ°åã解決ããããè¨è¿°ãããã®ã§ããã¬ãã·ã«ã«ã¨ããè¨èã¯ãã¬ãã·ã«ã«ã¹ã³ã¼ããã½ã¼ã¹ã³ã¼ãå
ã§å¤æ°ã宣è¨ãããå ´æã使ç¨ãã¦ããã®å¤æ°ãå©ç¨ã§ããå ´æã決å®ããã¨ããäºå®ã示ãã¦ãã¾ããå
¥ãåã®é¢æ°ã¯ããã®å¤å´ã®ã¹ã³ã¼ãã§å®£è¨ããã夿°ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
徿¥ï¼ES6 以åï¼ãJavaScript ã®å¤æ°ã«ã¯é¢æ°ã¹ã³ã¼ãã¨ã°ãã¼ãã«ã¹ã³ã¼ãã® 2 種é¡ã®ã¹ã³ã¼ãããããã¾ããã§ãããvar
ã§å®£è¨ããã夿°ã¯ã颿°å
ã§å®£è¨ããããã颿°å¤ã§å®£è¨ããããã«ãã£ã¦ã颿°ã¹ã³ã¼ããã°ãã¼ãã«ã¹ã³ã¼ããã®ã©ã¡ããã«ãªãã¾ãã䏿¬å¼§ã§å²ã¾ãããããã¯ã¯ã¹ã³ã¼ãã使ããªãã®ã§ãããã¯ãã£ãããªãã¨ã§ãã
if (Math.random() > 0.5) {
var x = 1;
} else {
var x = 2;
}
console.log(x);
ãããã¯ãã¹ã³ã¼ãã使ããä»ã®è¨èªï¼ä¾ãã° C ã Javaï¼ããæ¥ã人ã«ã¨ã£ã¦ãä¸è¨ã®ã³ã¼ãã¯ãconsole.log
ã®è¡ãã©ã¡ãã®ãããã¯ã§ã x
ã®ã¹ã³ã¼ãå¤ã«ãªããããã¨ã©ã¼ãçºçããã¯ãã§ãããããããããã¯ã¯ var
ã®ã¹ã³ã¼ãã使ããªãã®ã§ãããã§ã® var
ã®è¨è¿°ã¯å®éã«ã¯ã°ãã¼ãã«å¤æ°ã使ãããã¨ã«ãªãã¾ããã¾ããã¯ãã¼ã¸ã£ã¨çµã¿åãããã¨å®éã«ãã°ãçºçãããã¨ã示ãå®ä¾ãä¸è¨ã§ç´¹ä»ããã¦ãã¾ãã
ES6 㧠JavaScript 㯠let
㨠const
宣è¨ãå°å
¥ããä»ã«ã䏿çãªãããã¾ã¼ã³ ãªã©ããããã¯ã¹ã³ã¼ã夿°ã使ã§ããããã«ãã¾ããã
if (Math.random() > 0.5) {
const x = 1;
} else {
const x = 2;
}
console.log(x); // ReferenceError: x is not defined
è¦ããã«ããããã¯ã¯ ES6 ã§ããããã¹ã³ã¼ãã¨ãã¦æ±ãããããã«ãªãã¾ããããlet
ã const
ã§å¤æ°ã宣è¨ããå ´åã«éãã¾ããããã«ãES6 ã§ã¯ã¢ã¸ã¥ã¼ã«ãå°å
¥ãããå¥ã®ç¨®é¡ã®ã¹ã³ã¼ããå°å
¥ããã¾ãããã¯ãã¼ã¸ã£ã¯ããããã¹ã¦ã®ã¹ã³ã¼ãã§å¤æ°ãææãããã¨ãã§ããã®ã§ãããããã«ã¤ãã¦ã¯å¾ã»ã©ç´¹ä»ãã¾ãã
ä»åº¦ã¯æ¬¡ã®ãããªä¾ãèãã¾ãã
function makeFunc() {
const name = "Mozilla";
function displayName() {
console.log(name);
}
return displayName;
}
const myFunc = makeFunc();
myFunc();
ãã®ã³ã¼ããå®è¡ããã¨ãååä¾ã«æãã init()
颿°ã¨å
¨ãåã广ãããã¾ããç°ãªãå½¢ã§è峿·±ãã®ã¯ãdisplayName()
ã®å
é¨é¢æ°ããå®è¡ãããåã«å¤é¨é¢æ°ããè¿ããããã¨ã§ãã
ãã®ã³ã¼ããåä½ããã¨ãããã¨ã¯ç´æçã«çè§£ã§ããªãããããã¾ãããããã¤ãã®ããã°ã©ãã³ã°è¨èªã§ã¯ã颿°å
é¨ã®ãã¼ã«ã«å¤æ°ã¯ãã®é¢æ°ãå®è¡ããã¦ããéã ãåå¨ãã¾ãã䏿¦ makeFunc()
ã®å®è¡ãå®äºããããname 夿°ã¯ããå¿
è¦ã¨ãããªããªãã¨èããæ¹ãçã¯éã£ã¦ãã¾ãããã ãã®ã³ã¼ããæå¾
ããã¨ããã«åãã¨ããäºã¯ãããã¯æããã« JavaScript ã«ã¯ãã¦ã¯ã¾ãã¾ããã
ãã®çç±ã¯ãJavaScript ã®é¢æ°ã¯ã¯ãã¼ã¸ã£ã¨ãªãããã§ããã¯ãã¼ã¸ã£ã¯é¢æ°ã¨ãã®é¢æ°ãä½ãããç°å¢ã¨ãã 2 ã¤ã®ãã®ã®çµã¿åããã§ãããã®ç°å¢ã¯ãã¯ãã¼ã¸ã£ãä½ãããæç¹ã§ã¹ã³ã¼ãå
é¨ã«ãã£ããããããã¼ã«ã«å¤æ°ã«ãã£ã¦æ§æããã¦ãã¾ãããã®å ´åãmyFunc
㯠makeFunc
ãå®è¡ãããæã«ä½ããã displayName
颿°ã®ã¤ã³ã¹ã¿ã³ã¹ã¸ã®åç
§ã§ããdisplayName
ã®ã¤ã³ã¹ã¿ã³ã¹ã¯ã¬ãã·ã«ã«ç°å¢ã¸ã®åç
§ãä¿æããããã« name
夿°ãåå¨ãã¾ãããã®ãããmakeFunc
ãå®è¡ãããæã«ãname
夿°ãæ®ã£ã¦ã㦠"Mozilla" ã console.log
ã«æ¸¡ããã¾ãã
ããã«ããå°ãé¢ç½ãä¾ãããã¾ããmakeAdder
颿°ã§ãã
function makeAdder(x) {
return function (y) {
return x + y;
};
}
const add5 = makeAdder(5);
const add10 = makeAdder(10);
console.log(add5(2)); // 7
console.log(add10(2)); // 12
ãã®ä¾ã§ã¯ã1 ã¤ã®å¼æ° x
ãåããæ°ãã颿°ãè¿ã makeAdder(x)
颿°ãå®ç¾©ãã¦ãã¾ããè¿ããã颿°ã¯ 1 ã¤ã®å¼æ° y
ãåããx
㨠y
ã®åãè¿ãã¾ãã
è¦ããã«ãmakeAdder
ã¯é¢æ°ãã¡ã¯ããªã¼ã§ããããã¯ä¸ãããã弿°ã«ç¹å®ã®å¤ãè¶³ã颿°ãä½ãã¾ããä¸ã®ä¾ã§ã¯é¢æ°ãã¡ã¯ããªã¼ã使ã£ã¦ 2 ã¤ã®æ°ãã颿°ã使ãã¦ãã¾ãã1 ã¤ã¯å¼æ°ã« 5 ãå ãããã®ã§ããã 1 ã¤ã¯ 10 ãå ãããã®ã§ãã
add5
㨠add10
ã¯ä¸¡æ¹ã¨ãã¯ãã¼ã¸ã£ã§ãã両è
ã¯åã颿°æ¬ä½ã®å®ç¾©ãå
±æãã¦ãã¾ãããä¿æãã¦ããç°å¢ã¯ç°ãªãã¾ããadd5
ã®ç°å¢ã§ã¯ x
㯠5 ã§ãadd10
ã®ç°å¢ã§ã¯ x
㯠10 ã§ãã
ã¯ãã¼ã¸ã£ãæçãªã®ã¯ããã¼ã¿ï¼ã¬ãã·ã«ã«ç°å¢ï¼ã¨ãã®ãã¼ã¿ã使ç¨ãã颿°ãé¢é£ä»ãããã¨ãã§ããããã§ããããã¯ããªãã¸ã§ã¯ãæåããã°ã©ãã³ã°ã¨æããã«ä¸¦åãã¦ãã¾ãããªãã¸ã§ã¯ãã§ã¯ããã¼ã¿ï¼ãªãã¸ã§ã¯ãã®ããããã£ï¼ã 1 ã¤ã¾ãã¯è¤æ°ã®ã¡ã½ããã«é¢é£ä»ãããã¨ãã§ãã¾ãã
ãããã£ã¦ãã¡ã½ããã 1 ã¤ã ãæã¤ãªãã¸ã§ã¯ãã使ããããªããããªç¶æ³ãªãã°ãã©ããªæã§ãã¯ãã¼ã¸ã£ã使ãäºãã§ãã¾ãã
ã¦ã§ãã§ã¯ãã®ãããªç¶æ³ã¯ããããã¾ããç§ãã¡ãæ¸ã JavaScript ã®ã³ã¼ãã¯å¤§åãã¤ãã³ããã¼ã¹ã§ããã¤ã¾ããããåä½ãå®ç¾©ããããã click ã keypress ã¨ãã£ãã¦ã¼ã¶ã¼ã«ãã£ã¦å¼ãèµ·ããããã¤ãã³ãã«åãä»ãã¾ããç§ãã¡ã®ã³ã¼ãã®å¤ãã¯ã³ã¼ã«ããã¯ãããªãã¡ã¤ãã³ãã«åå¿ãã¦å®è¡ãããåç¬ã®é¢æ°ã¨ãã¦åãä»ãããã¾ãã
å®ä¾ãæãã¾ãããããããã¼ã¸ã«ãã®ãã¼ã¸ã®ããã¹ãã®å¤§ããã調æ´ããããã®ãã¿ã³ã追å ãããã¨ãã¦ããã¨ãã¾ãã1 ã¤ã®æ¹æ³ã¨ãã¦ãã¾ã body
è¦ç´ ã® font-size ããã¯ã»ã«æ°ã§æå®ãã¦ããã®ãã¼ã¸å
ã® (è¦åºããªã©ã®) ä»ã®è¦ç´ ã®ãµã¤ãºãç¸å¯¾åä½ em
ã§è¨å®ãã¾ãã
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 12px;
}
h1 {
font-size: 1.5em;
}
h2 {
font-size: 1.2em;
}
ããããä½ã対話å¼ã®ããã¹ããµã¤ãºèª¿æ´ãã¿ã³ã¯ãbody
è¦ç´ ã® font-size
ããããã£ã夿´ãããã®å¤æ´ã¯ç¸å¯¾åä½ã«ãã£ã¦ãã¼ã¸ä¸ã®ã»ãã®è¦ç´ ã«ãé©ç¨ããã¾ãã
JavaScript ã®ã³ã¼ã:
function makeSizer(size) {
return function () {
document.body.style.fontSize = `${size}px`;
};
}
const size12 = makeSizer(12);
const size14 = makeSizer(14);
const size16 = makeSizer(16);
size12
ãsize14
ãsize16
ã¯ãããã body ã®ããã¹ããµã¤ãºã 12ã14ã16 px ã«å¤æ´ãã颿°ã«ãªã£ã¦ãã¾ãããããã¯ä»¥ä¸ã®ããã«ãã¦ãã¿ã³ (ãã®å ´åã¯ãªã³ã¯) ã«åãä»ãããã¾ãã
document.getElementById("size-12").onclick = size12;
document.getElementById("size-14").onclick = size14;
document.getElementById("size-16").onclick = size16;
<button id="size-12">12</button>
<button id="size-14">14</button>
<button id="size-16">16</button>
JSFiddle ã§ã³ã¼ããå®è¡ãã¾ãã
ã¯ãã¼ã¸ã£ã§ãã©ã¤ãã¼ãã¡ã½ãããæ¨¡å£ããJava ãªã©ã®è¨èªã§ã¯ãã©ã¤ãã¼ããªã¡ã½ããã宣è¨ãããã¨ãåºæ¥ã¾ããããã¯åãã¯ã©ã¹å ã«ããã»ãã®ã¡ã½ããããã®ã¿å¼ã³åºããã¡ã½ããã®ãã¨ã§ãã
JavaScript ã«ã¯ãã¯ã©ã¹ãç»å ´ããã¾ã§ããã©ã¤ãã¼ãã¡ã½ããã宣è¨ãããã¤ãã£ãã®æ¹æ³ã¯ããã¾ããã§ããããã¯ãã¼ã¸ã£ã使ãã¨ãã©ã¤ãã¼ãã¡ã½ãããæ¨¡å£ãããã¨ãã§ãã¾ãããã©ã¤ãã¼ãã¡ã½ããã¯ã³ã¼ãã¸ã®ã¢ã¯ã»ã¹ãå¶éããã®ã«å½¹ç«ã¤ã ãã§ã¯ãªããã³ã¼ãã®ãããªãã¯ã¤ã³ã¿ã¼ãã§ã¤ã¹ãä¸è¦ãªã¡ã½ããã§ãã£ã±ãã«ãªãã®ãé²ããããã°ãã¼ãã«åå空éã管çããã®ã«éå¸¸ã«æå¹ã§ãã
ã¢ã¸ã¥ã¼ã«ãã¿ã¼ã³ã¨ãã¦ãç¥ãããã¯ãã¼ã¸ã£ã使ã£ã¦ããã©ã¤ãã¼ããªé¢æ°ã¨å¤æ°ã«ã¢ã¯ã»ã¹ã§ãããããªãã¯é¢æ°ãå®ç¾©ããã«ã¯ãã®ããã«ãã¾ãã
const counter = (function () {
let privateCounter = 0;
function changeBy(val) {
privateCounter += val;
}
return {
increment() {
changeBy(1);
},
decrement() {
changeBy(-1);
},
value() {
return privateCounter;
},
};
})();
console.log(counter.value()); // 0.
counter.increment();
counter.increment();
console.log(counter.value()); // 2.
counter.decrement();
console.log(counter.value()); // 1.
ããã§ã¯è²ã
ãªãã¨ãè¡ããã¦ãã¾ããåã®ä¾ã§ã¯ã¯ãã¼ã¸ã£ãããããç¬èªã®ç°å¢ãæã£ã¦ãã¾ãããããã®ä¾ã§ã¯ç°å¢ã 1 ã¤ã ã使ããããã®ç°å¢ã¯ counter.increment
, counter.decrement
, counter.value
ã¨ãã 3 ã¤ã®é¢æ°ã«ãã£ã¦å
±æããã¦ãã¾ãã
ãã®å
±æã¬ãã·ã«ã«ç°å¢ã¯ãå®ç¾©ãããã¨ããã«å®è¡ãããï¼IIFE ã¨ãå¼ã°ãã¾ãï¼ç¡å颿°ã®æ¬æã§ä½æããã¦ãã¾ãããã®ç°å¢ã¯å¤æ° privateCounter
ã¨é¢æ° changeBy
ã¨ãã 2 ã¤ã®ãã©ã¤ãã¼ãã¢ã¤ãã ãå«ãã§ãã¾ãããããã¯ã©ã¡ããç¡å颿°ã®å¤å´ããã¯ç´æ¥ã¢ã¯ã»ã¹åºæ¥ã¾ããããã®ä»£ããããã®ç¡åã©ããã¼é¢æ°ããè¿ããã 3 ã¤ã®ãããªãã¯é¢æ°ããã¯éæ¥çã«ã¢ã¯ã»ã¹ãã¾ãã
ããã 3 ã¤ã®ãããªãã¯é¢æ°ã¯åãç°å¢ãå
±æããã¯ãã¼ã¸ã£ã§ããJavaScript ã®ã¬ãã·ã«ã«ã¹ã³ã¼ãã«ããããããã®é¢æ°ã¯ããããã夿° privateCounter
ã¨é¢æ° changeBy
ã«ã¢ã¯ã»ã¹ã§ãã¾ãã
const makeCounter = function () {
let privateCounter = 0;
function changeBy(val) {
privateCounter += val;
}
return {
increment() {
changeBy(1);
},
decrement() {
changeBy(-1);
},
value() {
return privateCounter;
},
};
};
const counter1 = makeCounter();
const counter2 = makeCounter();
console.log(counter1.value()); // 0.
counter1.increment();
counter1.increment();
console.log(counter1.value()); // 2.
counter1.decrement();
console.log(counter1.value()); // 1.
console.log(counter2.value()); // 0.
2 ã¤ã®ã«ã¦ã³ã¿ã¼ãäºãã«ç¬ç«ããç¶æ
ãç¶æãã¦ãããã¨ã«æ³¨ç®ãã¦ãã ãããåã¯ãã¼ã¸ã£ã¯ãç¬èªã®ã¯ãã¼ã¸ã£ãä»ãã¦ç°ãªããã¼ã¸ã§ã³ã® privateCounter
夿°ãåç
§ãã¦ãã¾ããã«ã¦ã³ã¿ã¼ã®ãããããå¼ã³åºããããã³ã«ããã®å¤æ°ã®å¤ã夿´ãããã¨ã§ããã®ã¬ãã·ã«ã«ç°å¢ãå¤åãã¾ããããã¯ãã¼ã¸ã£ã§å¤æ°å¤ã夿´ãã¦ãããã䏿¹ã®ã¯ãã¼ã¸ã£ã®å¤ã«ã¯å½±é¿ãã¾ããã
ã¡ã¢: ãã®ããã«ãã¦ã¯ãã¼ã¸ã£ã使ãã¨ãæ®éã¯ãªãã¸ã§ã¯ãæåããã°ã©ãã³ã°ã«ä»ãç©ã®ããã¤ãã®å©ç¹ãå ·ä½çã«ã¯ãã¼ã¿ã®é è½ãã«ãã»ã«åãå©ç¨ã§ããããã«ãªãã¾ãã
ã¯ãã¼ã¸ã£ã®ã¹ã³ã¼ããã§ã¼ã³å ¥ãåã«ãªã£ã颿°ãå¤å´ã®é¢æ°ã®ã¹ã³ã¼ãã«ã¢ã¯ã»ã¹ããéã«ã¯ãå¤å´ã®é¢æ°ã®å å«ããã¹ã³ã¼ããå«ã¾ãã¾ãã广çã«é¢æ°ã®ã¹ã³ã¼ãã®é£éã使ãã¾ããä¾ãã°ã次ã®ä¾ã®ã³ã¼ããèãã¦ã¿ã¾ãããã
// ã°ãã¼ãã«ã¹ã³ã¼ã
const e = 10;
function sum(a) {
return function (b) {
return function (c) {
// å¤å´ã®é¢æ°ã¹ã³ã¼ã
return function (d) {
// ãã¼ã«ã«ã¹ã³ã¼ã
return a + b + c + d + e;
};
};
};
}
console.log(sum(1)(2)(3)(4)); // 20
ç¡å颿°ã使ããã«æ¸ããã¨ãã§ãã¾ãã
// ã°ãã¼ãã«ã¹ã³ã¼ã
const e = 10;
function sum(a) {
return function sum2(b) {
return function sum3(c) {
// å¤å´ã®é¢æ°ã¹ã³ã¼ã
return function sum4(d) {
// ãã¼ã«ã«ã¹ã³ã¼ã
return a + b + c + d + e;
};
};
};
}
const sum2 = sum(1);
const sum3 = sum2(2);
const sum4 = sum3(3);
const result = sum4(4);
console.log(result); // 20
ä¸è¨ã®ä¾ã§ã¯ãä¸é£ã®ãã¹ãããã颿°ãããããããã¯ãã¹ã¦å¤å´ã®é¢æ°ã¹ã³ã¼ãã«ã¢ã¯ã»ã¹ã§ãã¾ãããã®æèã§ã¯ãã¯ãã¼ã¸ã£ã¯ãã¹ã¦ã®å¤å´ã®ã¹ã³ã¼ãã«ã¢ã¯ã»ã¹ã§ããã¨è¨ãã¾ãã
ã¯ãã¼ã¸ã£ã¯ãããã¯ã¹ã³ã¼ããã¢ã¸ã¥ã¼ã«ã¹ã³ã¼ãã®å¤æ°ãåãè¾¼ããã¨ãã§ãã¾ããä¾ãã°ã以ä¸ã¯ãããã¯ã¹ã³ã¼ãã«ãã夿° y
ã«å¯¾ãã¦ã¯ãã¼ã¸ã£ã使ãã¾ãã
function outer() {
let getY;
{
const y = 6;
getY = () => y;
}
console.log(typeof y); // undefined
console.log(getY()); // 6
}
outer();
ã¢ã¸ã¥ã¼ã«ä¸ã®ã¯ãã¼ã¸ã£ã¯ããã£ã¨è峿·±ããã®ã«ãªãã¾ãã
// myModule.js
let x = 5;
export const getX = () => x;
export const setX = (val) => {
x = val;
};
ããã§ã¯ãã¢ã¸ã¥ã¼ã«ã¯ã¢ã¸ã¥ã¼ã«ã¹ã³ã¼ãã®å¤æ° x
ãé è½ããã²ãã¿ã¼ã»ãã¿ã¼é¢æ°ã®ãã¢ãã¨ã¯ã¹ãã¼ããã¾ããä»ã®ã¢ã¸ã¥ã¼ã«ãã x
ã«ç´æ¥ã¢ã¯ã»ã¹ã§ããªãå ´åã§ãããã®é¢æ°ã§èªã¿æ¸ããã§ãã¾ãã
import { getX, setX } from "./myModule.js";
console.log(getX()); // 5
setX(6);
console.log(getX()); // 6
ã¯ãã¼ã¸ã£ã¯ã¤ã³ãã¼ããããå¤ãé è½ãããã¨ãã§ããå ã®å¤ãå¤ããã¨ã¤ã³ãã¼ããããå¤ãããã«å¿ãã¦å¤ãããããã©ã¤ããã¤ã³ã ã¨è¦ãªããã¾ãã
// myModule.js
export let x = 1;
export const setX = (val) => {
x = val;
};
// closureCreator.js
import { x } from "./myModule.js";
export const getX = () => x; // ã¤ã³ãã¼ããããã©ã¤ããã¤ã³ããé è½
import { getX } from "./closureCreator.js";
import { setX } from "./myModule.js";
console.log(getX()); // 1
setX(2);
console.log(getX()); // 2
ã«ã¼ãå
ã§ã¯ãã¼ã¸ã£ã使: è¯ãããééã
let
ãã¼ã¯ã¼ããå°å
¥ãããåã¾ã§ã¯ãã«ã¼ãã®å
é¨ã§ã¯ãã¼ã¸ã£ã使ãããæã«ããåé¡ãããèµ·ãã£ã¦ãã¾ãããæ¬¡ã®ãããªä¾ãèãã¦ã¿ã¾ãã
<p id="help">ããã«ãã«ãã表示ããã¾ã</p>
<p>E ã¡ã¼ã«: <input type="text" id="email" name="email" /></p>
<p>åå: <input type="text" id="name" name="name" /></p>
<p>å¹´é½¢: <input type="text" id="age" name="age" /></p>
function showHelp(help) {
document.getElementById("help").textContent = help;
}
function setupHelp() {
var helpText = [
{ id: "email", help: "ããªãã® E ã¡ã¼ã«ã¢ãã¬ã¹" },
{ id: "name", help: "ããªãã®ãã«ãã¼ã " },
{ id: "age", help: "ããªãã®å¹´é½¢ (17 æ³ä»¥ä¸)" },
];
for (var i = 0; i < helpText.length; i++) {
// ãã®è¡ã§ `var` ã使ç¨ãã¦ãããã¨ãåå
var item = helpText[i];
document.getElementById(item.id).onfocus = function () {
showHelp(item.help);
};
}
}
setupHelp();
JSFiddle ã§ã³ã¼ããå®è¡ãã¦ã¿ã¦ãã ããã
é
å helpText
㯠3 ã¤ã®ãã«ããå®ç¾©ãã¦ããããããããææ¸å
ã®å
¥åãã£ã¼ã«ãã® ID ã¨é¢é£ä»ãããã¦ãã¾ããã«ã¼ãããããã®å®ç¾©ãå·¡åãã¦ãããããã®å
¥åãã£ã¼ã«ãã® onfocus
ã¤ãã³ããããã«é¢é£ä»ãããããã«ãã表示ããã¡ã½ããã¨çµã³ä»ãã¦ãã¾ãã
ãã®ã³ã¼ããå®è¡ãã¦ã¿ãã¨ãæå¾ ããã¨ããã«ã¯åããªãã®ãåããã¾ããã©ã®ãã£ã¼ã«ãã«ãã©ã¼ã«ã¹ãã¦ãã表示ãããã®ã¯å¹´é½¢ã«ã¤ãã¦ã®ã¡ãã»ã¼ã¸ã§ãã
ãããªãçç±ã¯ãonfocus
ã«ä»£å
¥ããã颿°ãã¯ãã¼ã¸ã£ã ããã§ãããã®ã¯ãã¼ã¸ã£ã¯ã颿°å®ç¾©ã¨ãsetupHelp
颿°ã¹ã³ã¼ãããææãããç°å¢ããæã£ã¦ãã¾ããã¯ãã¼ã¸ã£ã¯ 3 ã¤ä½ããã¾ãããããããã¯ã¿ãª 1 ã¤ã®åãç°å¢ãå
±æãã¦ãã¾ããonfocus
ã³ã¼ã«ããã¯ãå®è¡ãããæã«ã¯ã«ã¼ãã¯ãã¹ã¦çµäºãã¦ããã夿° item
ï¼3 ã¤ã®ã¯ãã¼ã¸ã£å
¨ã¦ã«å
±æããã¦ããï¼ã¯ helpText
ãªã¹ãã®æå¾ã®é
ç®ã示ããã¾ã¾ã«ããã¦ãã¾ãã
ãããã£ãå ´åã®è§£æ±ºçã® 1 ã¤ã¨ãã¦ãããå¤ãã®ã¯ãã¼ã¸ã£ãä½¿ãæ¹æ³ãããã¾ããå ·ä½çã«ã¯ãåã«è¿°ã¹ããããªé¢æ°ãã¡ã¯ããªã¼ã使ãã¾ãã
function showHelp(help) {
document.getElementById("help").textContent = help;
}
function makeHelpCallback(help) {
return function () {
showHelp(help);
};
}
function setupHelp() {
var helpText = [
{ id: "email", help: "ããªãã® E ã¡ã¼ã«ã¢ãã¬ã¹" },
{ id: "name", help: "ããªãã®ãã«ãã¼ã " },
{ id: "age", help: "ããªãã®å¹´é½¢ (17 æ³ä»¥ä¸)" },
];
for (var i = 0; i < helpText.length; i++) {
var item = helpText[i];
document.getElementById(item.id).onfocus = makeHelpCallback(item.help);
}
}
setupHelp();
JSFiddle ã§ã³ã¼ããå®è¡ãã¦ã¿ã¦ãã ããã
ããã¯æå¾
éãåãã¾ããå
¨ã¦ã®ã³ã¼ã«ããã¯ã 1 ã¤ã®ç°å¢ãå
±æããã®ã§ã¯ãªããmakeHelpCallback
颿°ãããããã«å¯¾ãã¦æ°ããã¬ãã·ã«ã«ç°å¢ãä½ã£ã¦ãããããã§ã¯ help
ãé
å helpText
ã®å¯¾å¿ããæååãåç
§ãã¦ãã¾ãã
ä¸ã®ãã®ãç¡åã¯ãã¼ã¸ã£ã使ã£ã¦æ¸ããä»ã®æ¹æ³ãããã¾ãã
function showHelp(help) {
document.getElementById("help").innerHTML = help;
}
function setupHelp() {
var helpText = [
{ id: "email", help: "ããªãã® E ã¡ã¼ã«ã¢ãã¬ã¹" },
{ id: "name", help: "ããªãã®ãã«ãã¼ã " },
{ id: "age", help: "ããªãã®å¹´é½¢ (17 æ³ä»¥ä¸)" },
];
for (var i = 0; i < helpText.length; i++) {
(function () {
var item = helpText[i];
document.getElementById(item.id).onfocus = function () {
showHelp(item.help);
};
})(); // item ã®ç¾å¨å¤ï¼å復å¦çã¾ã§ä¿åãããï¼ãæã¤å³æã¤ãã³ããªã¹ãã¼ã®è£
ç
}
}
setupHelp();
ãã以ä¸ã¯ãã¼ã¸ã£ã使ããããªãå ´åãlet
ã const
ãã¼ã¯ã¼ãã使ç¨ã§ãã¾ãã
function showHelp(help) {
document.getElementById("help").textContent = help;
}
function setupHelp() {
const helpText = [
{ id: "email", help: "ããªãã® E ã¡ã¼ã«ã¢ãã¬ã¹" },
{ id: "name", help: "ããªãã®ãã«ãã¼ã " },
{ id: "age", help: "ããªãã®å¹´é½¢ (17 æ³ä»¥ä¸)" },
];
for (let i = 0; i < helpText.length; i++) {
const item = helpText[i];
document.getElementById(item.id).onfocus = () => {
showHelp(item.help);
};
}
}
setupHelp();
ãã®ä¾ã§ã¯ var
ã®ä»£ããã« const
ã使ã£ã¦ããããããã¹ã¦ã®ã¯ãã¼ã¸ã£ããããã¯ã¹ã³ã¼ãã®å¤æ°ããã¤ã³ããã¦ãããã¤ã¾ã追å ã®ã¯ãã¼ã¸ã£ã¯è¦æ±ããã¾ããã
ä»ã®æ¹æ³ã¨ãã¦ã以ä¸ã®ããã« forEach()
ã使ç¨ãã¦é
å helpText
ãæä½ããããããã® <input>
ã«ãªã¹ãã¼ãå²ãå½ã¦ããã¨ãã§ãã¾ãã
function showHelp(help) {
document.getElementById("help").textContent = help;
}
function setupHelp() {
var helpText = [
{ id: "email", help: "ããªãã® E ã¡ã¼ã«ã¢ãã¬ã¹" },
{ id: "name", help: "ããªãã®ãã«ãã¼ã " },
{ id: "age", help: "ããªãã®å¹´é½¢ (17 æ³ä»¥ä¸)" },
];
helpText.forEach(function (text) {
document.getElementById(text.id).onfocus = function () {
showHelp(text.help);
};
});
}
setupHelp();
ããã©ã¼ãã³ã¹ã¸ã®é
æ
®
ååè¿°ã¹ãããã«ãããããã®é¢æ°ã¤ã³ã¹ã¿ã³ã¹ã¯ãç¬èªã®ã¹ã³ã¼ãã¨ã¯ãã¼ã¸ã£ã管çãã¾ãããããã£ã¦ãã¯ãã¼ã¸ã£ãå ·ä½çãªã¿ã¹ã¯ã«å¿ è¦ã§ãªãå ´åã«ãä¸å¿ è¦ã«ä»ã®é¢æ°ã®ä¸ã«é¢æ°ã使ãããã¨ã¯ãå¦çé度ã¨ã¡ã¢ãªã¼æ¶è²»ã®ä¸¡é¢ã§ã¹ã¯ãªããã®ããã©ã¼ãã³ã¹ã«æªå½±é¿ãä¸ããã®ã§ãè³¢æã§ã¯ããã¾ããã
ä¾ãã°ãæ°ãããªãã¸ã§ã¯ã/ã¯ã©ã¹ã使ããæãä¸è¬çã«ã¡ã½ããã¯ãªãã¸ã§ã¯ãã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã®ä¸ã§å®ç¾©ããã®ã§ã¯ãªãããªãã¸ã§ã¯ãã®ãããã¿ã¤ãã«çµã³ã¤ããã¹ãã§ããã³ã³ã¹ãã©ã¯ã¿ã¼ã®ä¸ã§å®ç¾©ãã¦ãã¾ãã¨ãã³ã³ã¹ãã©ã¯ã¿ã¼ãå¼ã³åºããããã³ã«ï¼ã¤ã¾ããªãã¸ã§ã¯ãã使ããããã³ã«ï¼ã¡ã½ãããåä»£å ¥ããã¦ãã¾ããã¨ã«ãªãããã§ãã
以ä¸ã®ã±ã¼ã¹ãèãã¦ã¿ã¦ãã ããã
function MyObject(name, message) {
this.name = name.toString();
this.message = message.toString();
this.getName = function () {
return this.name;
};
this.getMessage = function () {
return this.message;
};
}
ä¸ã®ã³ã¼ãã¯ããã®å ·ä½çãªä¾ã§ã¯ã¯ãã¼ã¸ã£ã使ç¨ãããã¨ã®æ©æµãåããããªãã®ã§ã代ããã«ä»¥ä¸ã®ããã«ã¯ãã¼ã¸ã£ã使ç¨ããªãããã«æ¸ãæãããã¨ãã§ãã¾ãã
function MyObject(name, message) {
this.name = name.toString();
this.message = message.toString();
}
MyObject.prototype = {
getName() {
return this.name;
},
getMessage() {
return this.message;
},
};
ãã ãããããã¿ã¤ãã®åå®ç¾©ã¯æ¨å¥¨ããã¾ããã以ä¸ã®ä¾ã®ããã«æ¢åã®ãããã¿ã¤ãã«è¿½å ããã®ããã好ã¾ããæ¹æ³ã§ãã
function MyObject(name, message) {
this.name = name.toString();
this.message = message.toString();
}
MyObject.prototype.getName = function () {
return this.name;
};
MyObject.prototype.getMessage = function () {
return this.message;
};
ä¸ã® 2 ã¤ã®ä¾ã§ã¯ããããã¿ã¤ããç¶æ¿ããã¦å ¨ã¦ã®ãªãã¸ã§ã¯ãã«ãã£ã¦å ±æãããããããªãã¸ã§ã¯ãã使ããããã³ã«ã¡ã½ãããå®ç¾©ãããã«æ¸ã¿ã¾ãã詳ããã¯ç¶æ¿ã¨ãããã¿ã¤ããã§ã¼ã³ãåç §ãã¦ä¸ããã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4