JavaScript ã¯ãã«ããã©ãã¤ã ã®åçè¨èªã§ãããåãæ¼ç®åãæ¨æºçµã¿è¾¼ã¿ãªãã¸ã§ã¯ããã¡ã½ãããããã¾ãããã®æ§æã¯ Java ã C è¨èªã«ç±æ¥ããã®ã§ããããã®è¨èªã®å¤ãã®æ§é ã JavaScript ã«ãåæ§ã«é©ç¨ã§ãã¾ãã JavaScript ã¯ããªãã¸ã§ã¯ããããã¿ã¤ããã¯ã©ã¹ã«ãããªãã¸ã§ã¯ãæåããã°ã©ãã³ã°ã«å¯¾å¿ãã¦ãã¾ããã¾ããJavaScript ã¯é¢æ°åããã°ã©ãã³ã°ããµãã¼ããã¾ãã颿°ã第ä¸ç´ãªãã¸ã§ã¯ãã§ãããå¼ãã容æã«ä½æããä»ã®ãªãã¸ã§ã¯ãã¨åãããã«åãæ¸¡ããããã¨ãã§ãã¾ãã
ãã®ãã¼ã¸ã¯ã JavaScript ã®ãã¾ãã¾ãªè¨èªæ©è½ã®æ¦è¦ã§ã C ã Java ãªã©ãä»ã®è¨èªã®ããã¯ã°ã©ã¦ã³ããããèªè ã®ããã«æ¸ããããã®ã§ãã
ãã¼ã¿åã¾ãã¯ããããè¨èªã®æ§æè¦ç´ ããåããè¦ããã¨ããå§ãã¾ãããã JavaScript ã®ããã°ã©ã ã¯å¤ãæä½ãããããã®å¤ã¯ãã¹ã¦åã«å±ãã¦ãã¾ããJavaScript ã®åã¯æ¬¡ã®éãã§ãã
true
㨠false
- éå¸¸ã¯æ¡ä»¶ã®è«çã«ä½¿ç¨ãã¾ããä»ã®ãã¹ã¦ã®ãã®ã¯ãªãã¸ã§ã¯ãåã¨å¼ã°ãã¾ãã主ãªãªãã¸ã§ã¯ãåã«ã¯æ¬¡ã®ãã®ãããã¾ãã
JavaScript ã§ã¯ã颿°ã¯ç¹å¥ãªãã¼ã¿æ§é ã§ã¯ããã¾ãããå¼ã³åºããã¨ãã§ãããªãã¸ã§ã¯ãã®ç¹å¥ãªåã«ããã¾ããã
æ°å¤JavaScript ã«ã¯ 2 ã¤ã®çµã¿è¾¼ã¿æ°å¤åãããã¾ãã æ°å¤å (Number) ã¨ é·æ´æ°å (BigInt) ã§ãã
æ°å¤åã¯IEEE 754 å精度 64 ããããã¤ããªã¼å¤ã§ããããã¯æ´æ°ã®å ´åã¯-(253 â 1) 㨠253 â 1 ã®éã®æ°ãªãã°ç²¾åº¦ãè½ã¡ããã¨ããªããæµ®åå°æ°ç¹æ°ã¯ 1.79 à 10308 ã¾ã§æ ¼ç´ã§ãã¾ãã JavaScript ã§ã¯ãæ°å¤åã®ä¸ã§æµ®åå°æ°ç¹æ°ã¨æ´æ°ãåºå¥ãã¾ããã
console.log(3 / 2); // 1.5, 1 ã§ã¯ãªã
ã¤ã¾ããæ´æ°ã®ããã«è¦ãããã®ã¯ãå®ã¯æé»ã®ãã¡ã«æµ®åå°æ°ç¹ã§ãã IEEE 754 ã®ã¨ã³ã³ã¼ãæ¹å¼ã§ã¯ãæµ®åå°æ°ç¹æ°ã§æ¼ç®ã䏿£ç¢ºã«ãªããã¨ãããã¾ãã
console.log(0.1 + 0.2); // 0.30000000000000004
ãããæ¼ç®ãªã©æ´æ°ãæ³å®ããå¦çãè¡ãå ´åãæ°å¤ã¯ 32 ãããæ´æ°ã«å¤æããã¾ãã
æ°å¤ãªãã©ã«ã«ã¯ãåºæ°ï¼2 鲿°ã8 鲿°ã10 鲿°ã16 鲿°ï¼ãç¤ºãæ¥é è¾ããææ°æ¥å°¾è¾ãããã¾ãã
console.log(0b111110111); // 503
console.log(0o767); // 503
console.log(0x1f7); // 503
console.log(5.03e2); // 503
é·æ´æ°åã¯ä»»æã®é·ãã®æ´æ°ã§ãããã®åä½ã¯ C ã®æ´æ°åã«ä¼¼ã¦ãã¾ãã ï¼ä¾ãã°é¤ç®ã¯ 0 ã§åãæ¨ã¦ããã¾ãï¼ãç¡éã«å¤§ãããªããã¨ãã§ãã¾ããé·æ´æ°åã¯æ°å¤ãªãã©ã«ã¨æ¥å°¾è¾ n
ã§æå®ãã¾ãã
console.log(-3n / 2n); // -1n
æ¨æºã®ç®è¡æ¼ç®åã¯ãå ç®ãæ¸ç®ãå°ä½æ¼ç®ãªã©ãå«ãã¦å¯¾å¿ãã¦ãã¾ããé·æ´æ°åã¨æ°å¤åãæ··åãã¦æ¼ç®å¦çãè¡ããã¨ã¯ã§ãã¾ããã
Math
ãªãã¸ã§ã¯ãã¯ãæ¨æºæ°å¦é¢æ°ã¨å®æ°ãæä¾ãã¾ãã
Math.sin(3.5);
const circumference = 2 * Math.PI * r;
æååãæ°å¤ã«å¤æããæ¹æ³ã¯ 3 ã¤ããã¾ãã
parseInt()
ã¯ãæååãæ´æ°ã¨ãã¦è§£éãã¾ããparseFloat()
ã¯ãæååãæµ®åå°æ°ç¹æ°ã¨ãã¦è§£éãã¾ããNumber()
颿°ã¯ã æååãæ°å¤ãªãã©ã«ã§ãããã®ããã«è§£éã§ãããã¾ãã¾ãªæ°å¤è¡¨ç¾ã«å¯¾å¿ãã¦ãã¾ããã¾ããåé
+
ã Number()
ã®ç縮形ã¨ãã¦ä½¿ç¨ãããã¨ãã§ãã¾ãã
æ°å¤ã®å¤ã«ã¯ã NaN
ï¼"Not a Number" ã®ç¥ï¼ã¨ Infinity
ãå«ã¿ã¾ããä¾ãã°ãæ°å¤ä»¥å¤ã®æååãè§£éãããã¨ããå ´åããè² ã®å¤ã«å¯¾ã㦠Math.log()
ã使ç¨ããå ´åãªã©ãå¤ãã®ã䏿£ãªæ¼ç®ã㯠NaN
ãè¿ãã¾ããã¼ãã«ããé¤ç®ã¯ Infinity
ï¼æ£ã®å¤ã¾ãã¯è² ã®å¤ï¼ãè¿ãã¾ãã
NaN
ã¯ä¼æãã¾ããã©ããªæ°å¦å¦çã«ããªãã©ã³ãã¨ãã¦æä¾ããã¨ãçµæã NaN
ã«ãªãã¾ãã NaN
㯠JavaScript ã§å¯ä¸ããèªèº«ã¨çãããªãå¤ã§ãï¼IEEE 754 仿§ã«ããï¼ã
JavaScript ã§ã®æåå㯠Unicode æåã®åã§ããããã¯å½éåã«æºãã£ããã¨ã®ãã人ã«ã¨ã£ã¦ã¯æè¿ãã¹ããã¥ã¼ã¹ã§ããããããæ£ç¢ºãªè¨ãæ¹ãããã°ãæåå㯠UTF-16 ã¨ã³ã³ã¼ãæ¹å¼ã§ãã
console.log("Hello, world");
console.log("ä½ å¥½ï¼ä¸çï¼"); // ã»ã¼ãã¹ã¦ã® Unicode æåã¯æååãªãã©ã«ã§æ¸ããã¨ãã§ãã¾ãã
æååã¯ä¸éå¼ç¨ç¬¦ã§ãäºéå¼ç¨ç¬¦ã§ãæ¸ããã¨ãã§ãã¾ãã JavaScript ã«ã¯æåã¨æååã®åºå¥ã¯ããã¾ãããåä¸ã®æåã表ãããå ´åã¯ããã®åä¸ã®æåãããªãæååã使ç¨ããã ãã§ãã
console.log("Hello"[1] === "e"); // true
æååã®é·ãï¼ã³ã¼ãåä½ï¼ã調ã¹ãã«ã¯ããã®length
ããããã£ã«ã¢ã¯ã»ã¹ãã¾ãã
æååã«ã¯ãæååãæä½ããããæååã«é¢ããæ å ±ã«ã¢ã¯ã»ã¹ãããããããã® ã¦ã¼ãã£ãªãã£ã¡ã½ãããããã¾ããè¨è¨ä¸ããã¹ã¦ã®ããªããã£ãã¯ä¸å¤ãªã®ã§ããããã®ã¡ã½ããã¯æ°ããæååãè¿ãã¾ãã
æ¼ç®å +
ã¯æååã«å¯¾ãã¦ãªã¼ãã¼ãã¼ãããã¦ãã¾ããæ¼ç®åã® 1 ã¤ãæååã®å ´åãæ°å¤ã®å ç®ã®ä»£ããã«æååã®é£çµãè¡ãã¾ããç¹å¥ãªãã³ãã¬ã¼ããªãã©ã«æ§æã«ãããå¼ãåãè¾¼ãã æååãããç°¡æ½ã«æ¸ããã¨ãã§ãã¾ãã Python ã® f-strings ã C# ã®è£å®æååã¨ã¯ç°ãªãããã³ãã¬ã¼ããªãã©ã«ã¯ï¼åä¸å¼ç¨ç¬¦ãäºéå¼ç¨ç¬¦ã§ã¯ãªãï¼éå¼ç¨ç¬¦ã使ç¨ãã¾ãã
const age = 25;
console.log("ç§ã¯ " + age + " æ³ã§ãã"); // æååã¸å¤æ
console.log(`ç§ã¯ ${age} æ³ã§ãã`); // ãã³ãã¬ã¼ããªãã©ã«
ãã®ä»ã®å
JavaScript ã§ã¯ãæå³çã«å¤ããªããã¨ã示ã null
ï¼null
ã®ãã¼ã¯ã¼ãã§ã®ã¿ã¢ã¯ã»ã¹ã§ãã¾ãï¼ã¨ãå¤ããªããã¨ã示ã undefined
ãåºå¥ãã¾ãã undefined
ãåå¾ããæ¹æ³ã¯ããããããã¾ãã
return
æã«å¤ããªãå ´å (return;
) ã¯ãæé»ã« undefined
ãè¿ãã¾ããobj.iDontExist
)ã undefined
ãè¿ãã¾ããlet x;
) ã¯ãæé»ã®ãã¡ã«ãã®å¤æ°ã undefined
ã«åæåãã¾ããJavaScript ã«ã¯ true
㨠false
ï¼ãããã¯ã¨ãã«ãã¼ã¯ã¼ãã§ãï¼ãåãããå¤ã¨ããè«çåãããã¾ããã©ããªå¤ã§ã以ä¸ã®è¦åã«åºã¥ãã¦è«çå¤ã«å¤æã§ãã¾ãã
false
ã0
ã空æåå (""
)ãNaN
ãnull
ãundefined
ã¯ããã¹ã¦ false
ã«ãªããtrue
ã«ãªããBoolean()
颿°ã使ããã¨ã§ãæç¤ºçã«ãã®å¤æãè¡ããã¨ãã§ãã¾ãã
Boolean(""); // false
Boolean(234); // true
ããããããã¯ã»ã¨ãã©å¿
è¦ããã¾ããã JavaScript ã¯ã if
æã®ä¸ãªã©ï¼å¶å¾¡æ§é ãåç
§ï¼ã®ããã«è«çå¤ãæå¾
ãããå ´é¢ã§ã¯ãæé»ã«ãã®å¤æãè¡ãããã§ãããã®ãããã¨ãã©ã "çå¤ (truthy)" ããã³ "å½å¤ (falsy)" ã¨è¨ããã¨ãããã¾ãããããã¯è«çå¤ã«å¤æãããã¨ãã«ãããã true
ã¾ã㯠false
ã«ãªãå¤ã¨ããæå³ã§ãã
&&
(è«ç AND) ã ||
(è«ç OR)ã!
(è«ç NOT) ãªã©ã®è«çæ¼ç®ããµãã¼ãããã¦ãã¾ããæ¼ç®åãåç
§ãã¦ãã ããã
ã·ã³ãã« (Symbol) åã¯åºæã®èå¥åã使ããããã«å¤ã使ç¨ããã¾ãã Symbol()
颿°ã§ä½æããã·ã³ãã«ã¯åºæã®ãã®ã§ãããã¨ãä¿è¨¼ããã¦ãã¾ããããã«ãå
±æå®æ°ã§ããç»é²ã·ã³ãã«ããç¹å®ã®æ¼ç®ãå®è¡ããããã®ããããã³ã«ãã¨ãã¦è¨èªãå©ç¨ããå
¬ç¥ã®ã·ã³ãã«ãããã¾ããã·ã³ãã«ãªãã¡ã¬ã³ã¹ã§è©³ãã説æããã¦ãã¾ãã
JavaScript ã§ã¯ãæ°ãã夿°ã宣è¨ããã®ã« let
ãconst
ãvar
ã® 3 ã¤ã®ãã¼ã¯ã¼ãã®ããããã使ç¨ãã¾ãã
let
ã¯ããããã¯ã¬ãã«ã®å¤æ°ã宣è¨ã§ãã¾ãã宣è¨ãã夿°ã¯ã夿°ãå
å«ãããããã¯ãã使ç¨ã§ãã¾ãã
let a;
let name = "Simon";
// ããã§ã¯ myLetVariable ã *è¦ãã¾ãã*
for (let myLetVariable = 0; myLetVariable < 5; myLetVariable++) {
// ããã§ã ã myLetVariable ãè¦ãã¾ã
}
// ããã§ã¯ myLetVariable ã *è¦ãã¾ãã*
const
ã¯ãå¤ã夿´ãããã¨ãæå³ããªã夿°ã宣è¨ãããã¨ãã§ãã¾ãã宣è¨ãã夿°ã¯ã夿°ã宣è¨ãããããã¯ãã使ç¨ã§ãã¾ãã
const Pi = 3.14; // 夿° Pi ãè¨å®
console.log(Pi); // 3.14
const
ã§å®£è¨ããã夿°ã¯å代å
¥ã§ãã¾ããã
const Pi = 3.14;
Pi = 1; // ã¨ã©ã¼ãçºçãã¾ãã宿°å¤æ°ã¯å¤æ´ã§ããªãããã§ãã
ãªãã¸ã§ã¯ãã®å ´åã const
宣è¨ã¯å¤æ°ã®å¤ã® å代å
¥ ãé²ãã ãã§ã夿°ã®å¤ã® 夿´ ãé²ããã¨ã¯ã§ãã¾ããã
const obj = {};
obj.a = 1; // ã¨ã©ã¼ãªã
console.log(obj); // { a: 1 }
var
宣è¨ã¯æå¤ãªæåããããã¨ããã ï¼ä¾ãã°ãããã¯ã®ã¹ã³ã¼ãã«ãªããªãï¼ãç¾ä»£ã® JavaScript ã³ã¼ãã§ã¯æ¨å¥¨ããã¾ããã
å¤ãå²ãå½ã¦ãã«å¤æ°ã宣è¨ããå ´åããã®å¤ã¯ undefined
ã¨ãªãã¾ããåæååãªãã§ const
夿°ã宣è¨ãããã¨ã¯ã§ãã¾ããã
let
㨠const
ã§å®£è¨ããã夿°ã¯ãå®ç¾©ããã¹ã³ã¼ãå
¨ä½ã§åå¨ãã¾ãããå®éã®å®£è¨è¡ã®åã«ã¯ä¸æçãªãããã¾ã¼ã³ã¨å¼ã°ããé åã§åå¨ãã¾ããããã¯ä»ã®è¨èªã«ã¯è¦ãããªãã夿°ã®å½±ã¨ããããè峿·±ãä½ç¨ãçºçãã¾ãã
function foo(x, condition) {
if (condition) {
console.log(x);
const x = 2;
console.log(x);
}
}
foo(1, true);
ä»ã®ã»ã¨ãã©ã®è¨èªã§ã¯ãconst x = 2
ã®è¡ã®åã§ã¯ x
ã¯ã¾ã ä¸ä½ã¹ã³ã¼ãã®å¼æ° x
ãåç
§ãã¦ããã¯ããªã®ã§ããã㯠"1" 㨠"2" ããã°åºåãããã¨ã«ãªãã¾ãã JavaScript ã§ã¯ãããããã®å®£è¨ãã¹ã³ã¼ãå
¨ä½ãå ãããããæåã® console.log
ã§ "Cannot access 'x' before initialization" ã¨ããã¨ã©ã¼ãçºçãã¾ãã詳ããã¯ãlet
ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ãåç
§ãã¦ãã ããã
JavaScript ã¯åçåä»ããè¡ãã¾ããï¼åã®ç¯ã§è¨è¿°ããã¦ããããã«ï¼åã¯å¤ã«ã®ã¿é¢é£ä»ãããã¾ããã夿°ã«ã¯é¢é£ä»ãããã¾ããã let
宣è¨ããã夿°ã«ã¤ãã¦ã¯ã常ã«å代å
¥ã«ãã£ã¦åã夿´ãããã¨ãã§ãã¾ãã
JavaScript ã®ç®è¡æ¼ç®åã¯ã+
ã-
ã*
ã/
ãããã¦å°ä½æ¼ç®åã® %
(ã¢ã¸ã¥ãã¨åãã§ã) ã§ããå¤ã¯ =
ã使ã£ã¦ä»£å
¥ããã¾ããã¾ã +=
ã -=
ã®ãããªè¤å代å
¥æãããã¾ããããã㯠x = x æ¼ç®å y
ã¨å±éã§ãããã®ã§ãã
++
ã --
ã使ã£ã¦ã¤ã³ã¯ãªã¡ã³ãããã¯ãªã¡ã³ãã§ãã¾ãããããã¯åç½®ãããã¯å¾ç½®æ¼ç®åã¨ãã¦ä½¿ããã¨ãã§ãã¾ãã
+
æ¼ç®åã¯æååã®çµåãè¡ãã¾ãã
"hello" + " world"; // "hello world"
æååãæ°åï¼ãä»ã®å¤ï¼ã«è¶³ãã¨ããã¹ã¦ã®ãã®ãæåã«æååã«å¤æããã¾ãããã®ãã¨ã¯ãã¹ãèªãããããã¾ããã
"3" + 4 + 5; // "345"
3 + 4 + "5"; // "75"
空æååãè¶³ãã®ã¯ãä½ããæååã«å¤æãã便å©ãªæ¹æ³ã§ãã
JavaScript ã«ããã æ¯è¼ ã¯ã<
ã >
ã<=
ã>=
ã使ã£ã¦è¡ããã¨ãã§ãã¾ãããããã¯æååã¨æ°å¤ã®ã©ã¡ãã§ãæ©è½ãã¾ããç価ã®å ´åãäºéçå·æ¼ç®åã¯ç°ãªãåãä¸ããã¨åã®å¤æãè¡ãããæã«ã¯è峿·±ãçµæãããããã¾ãã䏿¹ãä¸éçå·æ¼ç®åã¯åã®å¼·å¶ãè¡ããªãã®ã§ãé常ã¯ãã¡ããæ¨å¥¨ãã¾ãã
123 == "123"; // true
1 == true; // true
123 === "123"; // false
1 === true; // false
äºéçå·ã¨ä¸éçå·ã«ã¯ãä¸çå·ã«ã対å¿ãã !=
㨠!==
ãããã¾ãã
JavaScript ã«ã¯ãããæ¼ç®åãè«çæ¼ç®åãããã¾ããç¹ã«ãè«çæ¼ç®åã¯è«çå¤ã ãã§åä½ããããã§ã¯ããã¾ãããå¤ã®ãçå½åº¦ãã«ãã£ã¦åä½ãã¾ãã
const a = 0 && "Hello"; // 0 ã¯å½å¤ãªã®ã§ 0
const b = "Hello" || "world"; // "Hello" 㨠"world" ã¯å
±ã«çå¤ãªã®ã§ "Hello"
æ¼ç®å &&
㨠||
ã¯ç絡è©ä¾¡ã使ç¨ãã¾ããã¤ã¾ãã 2 ã¤ç®ã®æ¼ç®åãå®è¡ãããã©ããã¯æåã®æ¼ç®åã«ä¾åãã¾ããããã¯ããªãã¸ã§ã¯ãã®å±æ§ã«ã¢ã¯ã»ã¹ããåã« null ãã©ããã調ã¹ãã®ã«æçã§ãã
const name = o && o.getName();
ã¾ããå¤ã®ãã£ãã·ã¥ã«ã使ãã¾ãï¼å½å¤ã®å¤ãç¡å¹ã§ããå ´åï¼ã
const name = cachedName || (cachedName = getName());
æ¼ç®åã®å æ¬çãªãªã¹ãã«ã¤ãã¦ã¯ãã¬ã¤ããã¼ã¸ã¾ãã¯ãªãã¡ã¬ã³ã¹ã®ç« ãåç §ãã¦ãã ãããç¹ã«æ¼ç®åã®åªå é ä½ã«é¢å¿ãããããããã¾ããã
ææ³JavaScript ã®ææ³ã¯ C è¨èªã«ã¨ã¦ãããä¼¼ã¦ãã¾ããç¹çãã¹ãç¹ãããã¤ãããã¾ãã
//
ã¾ã㯠/* */
ã§ãããä»ã®å¤ãã®ã¹ã¯ãªããè¨èªãä¾ãã° Perl, Python, Bash 㯠#
ã§ããJavaScriptã®ææ³ã«ã¤ãã¦è©³ããè¦ã¦ããã«ã¯ãå奿æ³ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ãåç §ãã¦ãã ããã
å¶å¾¡æ§éJavaScript 㯠C è¨èªãã¡ããªã¼ã®ä»ã®è¨èªã¨ããä¼¼ãå¶å¾¡æ§é ã»ãããæã£ã¦ãã¾ããæ¡ä»¶æã¯ if
㨠else
ã§å¯¾å¿ãã¦ãã¾ããå¿
è¦ãªãããããé£éããããã¨ãã§ãã¾ãã
let name = "kittens";
if (name === "puppies") {
name += " woof";
} else if (name === "kittens") {
name += " meow";
} else {
name += "!";
}
name === "kittens meow";
JavaScript ã«ã¯ elif
ããªãã else if
ã¯å®éã«ã¯åä¸ã® if
æãããªã else
åå²ã«ããã¾ããã
JavaScript ã«ã¯ while
ã«ã¼ã㨠do...while
ã«ã¼ããããã¾ããåè
ã¯æ®éã®ã«ã¼ãå¦çã«é©ãã¦ãããå¾è
ã¯ã«ã¼ãã®æ¬ä½ãå°ãªãã¨ã 1 åã¯å®è¡ãããããã«ãããã¨ãã®ã«ã¼ãã§ãã
while (true) {
// ç¡éã«ã¼ã!
}
let input;
do {
input = get_input();
} while (inputIsNotValid(input));
JavaScript ã® for
ã«ã¼ã㯠C ã Java ã®ããã¨åãã§ããããã¯ã«ã¼ãã®å¶å¾¡æ
å ±ã 1 è¡ã§ä¸ãããã¨ãã§ãã¾ãã
for (let i = 0; i < 5; i++) {
// 5 åå®è¡ããã¾ã
}
JavaScript ã«ã¯ãã®ä»ã«ãç¹å¾´ç㪠for ã«ã¼ãã 2 ã¤ããã¾ãã for...of
ã¯å復å¯è½ãªãã¸ã§ã¯ããå¤ãã®ç¹å¾´çãªé
åãå復å¦çãã for...in
ã¯ãªãã¸ã§ã¯ãã®ãã¹ã¦ã®åæå¯è½ããããã£ãå復å¦çãã¾ãã
for (const value of array) {
// å¤ã«é¢ããå¦ç
}
for (const property in object) {
// ãªãã¸ã§ã¯ãã®ããããã£ã«é¢ããå¦ç
}
switch
æã¯ããæ°å¤ãæååãå
ã«ããè¤æ°åå²ã«ä½¿ããã¾ãã
switch (action) {
case "draw":
drawIt();
break;
case "eat":
eatIt();
break;
default:
doNothing();
}
C è¨èªã¨åæ§ã case å¥ã¯æ¦å¿µçã«ã¯ã©ãã«ä»ãã¨åããªã®ã§ã break
æã追å ããªããã°ãå®è¡ã¯æ¬¡ã®ã¬ãã«ã«ãè½ä¸ããã¾ããããããå®éã«ã¯ã¸ã£ã³ã表ã§ã¯ããã¾ãããæååãæ°å¤ãªãã©ã«ã ãã§ãªããã©ã®ãããªå¼ã§ã case
å¥ã«ã¯å±ãããç
§åããå¤ã¨çãããªãã¾ã§ 1 ã¤ãã¤è©ä¾¡ããã¾ããæ¯è¼ã¯ ===
æ¼ç®åãç¨ãã¦è¡ããã¾ãã
Rust ãªã©ä¸é¨ã®è¨èªã¨ã¯ç°ãªããå¶å¾¡æ§é 㯠JavaScript ã§ã¯æã§ãã®ã§ã const a = if (x) { 1 } else { 2 }
ã®ããã«å¤æ°ã«ä»£å
¥ãããã¨ã¯ã§ãã¾ããã
JavaScript ã®ã¨ã©ã¼ã¯ try...catch
æã使ç¨ãã¦å¦çãã¾ãã
try {
buildMySite("./website");
} catch (e) {
console.error("ãµã¤ãã®æ§ç¯ã«å¤±æãã¾ãã:", e);
}
ã¨ã©ã¼ã¯ throw
æã使ç¨ãã¦çºçãããï¼æããï¼ãã¨ãã§ãã¾ããå¤ãã®çµã¿è¾¼ã¿å¦çããåæ§ã«ãã¦ã¨ã©ã¼ãçºçãããå¯è½æ§ãããã¾ãã
function buildMySite(siteDirectory) {
if (!pathExists(siteDirectory)) {
throw new Error("ãµã¤ãã®ãã£ã¬ã¯ããªã¼ãåå¨ãã¾ãã");
}
}
ä¸è¬ã«ã throw
æããã¯ä½ã§ãã¨ã©ã¼ã¨ãã¦æãããã¨ãã§ãããããææããã¨ã©ã¼ã®åãæç¤ºãããã¨ã¯ã§ãã¾ãããããããä¾ãã°ä¸ã®ä¾ã®ããã«ãé常㯠Error
ã®ã¤ã³ã¹ã¿ã³ã¹ã§ããã¨æ³å®ãããã¨ãã§ãã¾ãã Error
ã«ã¯ TypeError
ã RangeError
ã®ãããªçµã¿è¾¼ã¿ã®ãµãã¯ã©ã¹ãããã¤ããããã¨ã©ã¼ã«é¢ããç¹å¥ãªæå³ã¥ããæä¾ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã JavaScript ã§ã¯æ¡ä»¶ä»ãã® catch ã¯ããã¾ããã 1 ã¤ã®ç¨®é¡ã®ã¨ã©ã¼ã ããå¦çãããå ´åã¯ããã¹ã¦ã catch ãã instanceof
ã使ç¨ãã¦ã¨ã©ã¼ã®åãç¹å®ããä»ã®ç¨éã®ãã®ã¯ throw ããªããå¿
è¦ãããã¾ãã
try {
buildMySite("./website");
} catch (e) {
if (e instanceof RangeError) {
console.error("弿°ãç¯å²ãè¶
ãã¦ããããã§ã:", e);
console.log("å試è¡ä¸...");
buildMySite("./website");
} else {
// ä»ã®ç¨®é¡ã®ã¨ã©ã¼ãã©ã®ããã«å¦çããã°ããã®ãããããªãå ´åãå¼ã³åºã
// ã¹ã¿ãã¯ã®ä¸ä½ã«ããä½ãã§ææãã¦å¦çã§ããããã« throw ãã¾ãã
throw e;
}
}
ã¨ã©ã¼ãã³ã¼ã«ã¹ã¿ãã¯å
ã® try...catch
ã§ææãããªãã£ãå ´åãããã°ã©ã ã¯çµäºãã¾ãã
å¶å¾¡ããã¼æã®å æ¬çãªãªã¹ãã¯ããªãã¡ã¬ã³ã¹ã®è©²å½é¨åãåç §ãã¦ãã ããã
ãªãã¸ã§ã¯ãJavaScript ã®ãªãã¸ã§ã¯ãã¯ãååã¨å¤ã®ãã¢ã®åç´ãªéåã§ããã¨èãããã¨ãã§ãã¾ããããã¯ä»¥ä¸ã®ãã®ã«ä¼¼ã¦ãã¾ãã
JavaScript ã§ãªãã¸ã§ã¯ãã¯ããã·ã¥ã§ããéçåä»ãè¨èªã®ãªãã¸ã§ã¯ãã¨ã¯ç°ãªãã JavaScript ã§ãªãã¸ã§ã¯ãã¯åºå®ãããå½¢ç¶ãæã¡ã¾ãã - ããããã£ã¯ãã¤ã§ã追å ããããåé¤ããããä¸¦ã¹æ¿ãããã夿´ããããåçã«åãåãããããããã¨ãã§ãã¾ãããªãã¸ã§ã¯ãã®ãã¼ã¯å¸¸ã«æååã¾ãã¯ã·ã³ãã«ãé åã®æ·»åã§ãããæ£è¦çã«ã¯æ´æ°ã§ããããã®åºç¤ã¯æååã§ãã
空ã®ãªãã¸ã§ã¯ããçæãã 2 ã¤ã®åºæ¬çãªæ¹æ³ãããã¾ãã
const obj = {
name: "Carrot",
for: "Max",
details: {
color: "orange",
size: 12,
},
};
ãªãã¸ã§ã¯ã®ããããã£ã«ã¢ã¯ã»ã¹ããã«ã¯ãããã (.
) ã¾ãã¯è§æ¬å¼§ ([]
) ã使ç¨ãããã¨ãã§ãã¾ãããããè¨æ³ã使ç¨ããå ´åããã¼ã¯æå¹ãªèå¥åã§ãªããã°ãªãã¾ããã䏿¹ãè§æ¬å¼§ã使ç¨ããã¨ãåçãªãã¼å¤ã§ãªãã¸ã§ã¯ãã®ã¤ã³ããã¯ã¹ãæå®ãããã¨ãã§ãã¾ãã
// ãããè¨æ³
obj.name = "Simon";
const name = obj.name;
// ãã©ã±ããè¨æ³
obj["name"] = "Simon";
const name = obj["name"];
// 夿°ããã¼å®ç¾©ã«ä½¿ç¨ã§ãã
const userName = prompt("ãã¼ã¯ä½ã§ããï¼");
obj[userName] = prompt("å¤ã¯ä½ã§ããï¼");
ããããã£ã®ã¢ã¯ã»ã¹ã¯é£éããããã¨ãã§ãã¾ãã
obj.details.color; // orange
obj["details"]["size"]; // 12
ãªãã¸ã§ã¯ãã¯å¸¸ã«åç §ãªã®ã§ãä½ããæç¤ºçã«ãªãã¸ã§ã¯ããã³ãã¼ããªãéãããªãã¸ã§ã¯ãã¸ã®å¤æ´ã¯å¤é¨ããè¦ãããã¨ã«ãªãã¾ãã
const obj = {};
function doSomething(o) {
o.x = 1;
}
doSomething(obj);
console.log(obj.x); // 1
ããã¯ã¾ããå¥åã«ä½æããã2ã¤ã®ãªãã¸ã§ã¯ãã¯ç°ãªãåç
§ã§ãããããæ±ºãã¦çãããªããªã (!==
) 㨠ããæå³ãå«ãã§ãã¾ããåããªãã¸ã§ã¯ãã®åç
§ã2ã¤æã£ã¦ããå ´åãçæ¹ã夿´ããã¨ãã䏿¹ã®ãªãã¸ã§ã¯ããã観å¯ãããã¨ãã§ãã¾ãã
const me = {};
const stillMe = me;
me.x = 1;
console.log(stillMe.x); // 1
ãªãã¸ã§ã¯ãã¨ãããã¿ã¤ãã®è©³ç´°ã«ã¤ãã¦ã¯ã Object
ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ãåç
§ãã¦ãã ããããªãã¸ã§ã¯ãåæåæ§æã®è©³ç´°ã«ã¤ãã¦ã¯ããªãã¡ã¬ã³ã¹ãã¼ã¸ãåç
§ãã¦ãã ããã
ãã®ãã¼ã¸ã§ã¯ããªãã¸ã§ã¯ãã®ãããã¿ã¤ãã¨ç¶æ¿ã«ã¤ãã¦ã®è©³ç´°ã¯ãã¹ã¦çç¥ãã¾ãããã¨ããã®ããé常ã¯ï¼é£è§£ã«èããããããããªãï¼åºç¤ã®ã¡ã«ããºã ã«è§¦ãããã¨ãªããã¯ã©ã¹ã§ç¶æ¿ãå®ç¾ã§ããããã§ãããããã«ã¤ãã¦ã¯ãç¶æ¿ã¨ãããã¿ã¤ããã§ã¼ã³ãåç §ãã¦ãã ããã
é åJavaScript ã«ãããé
åã¯ãå®ã¯ãªãã¸ã§ã¯ãã®ç¹æ®åã§ããæ®éã®ãªãã¸ã§ã¯ãã¨ã»ã¨ãã©åãããã«åãã¾ãï¼æ°å¤ã®ããããã£ã¯å½ç¶ []
ã®æ§æã§ã®ã¿ã¢ã¯ã»ã¹ã§ãã¾ãï¼ãããããé
å㯠length
ã¨ããéæ³ã®ããããã£ãæã£ã¦ãã¾ããããã¯å¸¸ã«é
åã®ä¸çªå¤§ããªã¤ã³ããã¯ã¹ãã 1 ã ã大ããå¤ãåãã¾ãã
é åãçæããæ¹æ³ã®ã²ã¨ã¤ã¯ä»¥ä¸ã®éãã§ãã
const a = ["dog", "cat", "hen"];
a.length; // 3
JavaScript ã®é
åã¯ãªãã¸ã§ã¯ãã§ããããä»»æã®æ°å¤ãå«ããããããããããã£ãé
åã«å²ãå½ã¦ããã¨ãã§ãã¾ããå¯ä¸ã®ãéæ³ãã¯ãç¹å®ã®ã¤ã³ããã¯ã¹ãè¨å®ããã¨ã length
ãèªåçã«æ´æ°ããããã¨ã§ãã
const a = ["dog", "cat", "hen"];
a[100] = "fox";
console.log(a.length); // 101
console.log(a); // ['dog', 'cat', 'hen', 空 à 97, 'fox']
ä¸è¨ã§å¾ãããé åã¯ãéä¸ã«ç©ºãã¹ããããããããçé åã¨å¼ã°ããã¨ã³ã¸ã³ã¯é åã¨ãã¦ã®æé©åãè¡ããªããªãããã·ã¥è¡¨ã«ãªãã¾ããé åãå¯ã«é ç½®ããã¦ãããã¨ã確èªãã¦ãã ããã
ç¯å²å¤ã®ã¤ã³ããã¯ã¹ã使ç¨ãã¦ãä¾å¤ã¯çºçãã¾ãããé
åã®åå¨ããªãã¤ã³ããã¯ã¹ãæ±ãããã¨ããã¨ã undefined
ã®å¤ãè¿ãã¾ãã
const a = ["dog", "cat", "hen"];
console.log(typeof a[90]); // undefined
é åã¯ä»»æã®è¦ç´ ãæã¤ãã¨ãã§ããä»»æã«å¢æ¸ãããã¨ãã§ãã¾ãã
const arr = [1, "foo", true];
arr.push({});
// arr = [1, "foo", true, {}]
é
åã¯ä»ã® C è¨èªé¢¨ã®è¨èªã¨åãããã«ã for
ã«ã¼ãã§å復å¦çãããã¨ãã§ãã¾ãã
for (let i = 0; i < a.length; i++) {
// a[i] ã«ã¤ãã¦ä½ããã
}
ãããã¯ãé
åã¯å復å¦çå¯è½ãªã®ã§ã C++/Java ã® for (int x : arr)
æ§æã¨å義㮠for...of
ã«ã¼ãã使ç¨ãããã¨ãã§ãã¾ãã
for (const currentValue of a) {
// currentValue (ç¾å¨ã®å¤) ã§ä½ãããã
}
é
åã«ã¯ãããããã®é
åã¡ã½ãããããã¾ããä¾ãã° map()
ã¯ãã¹ã¦ã®é
åè¦ç´ ã«ã³ã¼ã«ããã¯ãé©ç¨ããæ°ããé
åãè¿ãã¾ãã
const babies = ["dog", "cat", "hen"].map((name) => `baby ${name}`);
// babies = ['baby dog', 'baby cat', 'baby hen']
颿°
颿°ã¯ããªãã¸ã§ã¯ãã¨ã¨ãã« JavaScript ãçè§£ããããã§æ ¸ã¨ãªãæ§æè¦ç´ ã§ããåºæ¬çãªé¢æ°ã¯æ¥µãã¦ã·ã³ãã«ã§ãã
function add(x, y) {
const total = x + y;
return total;
}
ããã¯åºæ¬çãªé¢æ°ãä¾ç¤ºãã¦ãã¾ããJavaScript ã®é¢æ°ã¯ 0 以ä¸ã®ååã®ã¤ãã弿°ãåããã¨ãã§ãã¾ãã颿°ã®æ¬ä½ã¯å¥½ããªã ãããããã®æãå«ã¾ãããã¨ãã§ããã¾ããã®é¢æ°å
ã§å±æçãªå¤æ°ã宣è¨ãããã¨ãã§ãã¾ãã return
æã¯å¥½ããªã¨ãã«é¢æ°ãçµäºãå¤ãè¿ãããã«ä½¿ããã¨ãã§ãã¾ãããã return æã使ãããªãã£ããï¼ãããã¯å¤ãæããªã空㮠return ã使ããããï¼ãJavaScript 㯠undefined
ãè¿ãã¾ãã
颿°ã¯ããã®é¢æ°ãæå®ãã弿°ã®æ°ããå¤ãã¦ãå°ãªãã¦ãå¼ã³åºããã¨ãã§ãã¾ãã颿°ãæå¾
ãã¦ãã弿°ã渡ããã«å¼ã³åºãã¨ããã®å¼æ°ã¯ undefined
ã«è¨å®ããã¾ããããæå¾
ãã以ä¸ã®å¼æ°ã渡ãã¨ã颿°ã¯ä½åãªå¼æ°ãç¡è¦ãã¾ãã
add(); // NaN
// Equivalent to add(undefined, undefined)
add(2, 3, 4); // 5
// 第 1ã第 2 弿°ãå ç®ã4 ã¯ç¡è¦ããã
ä»ã«ãå©ç¨ã§ãã弿°ã®æ§æãããã¾ããä¾ãã°ãæ®ä½å¼æ°æ§æã¯ã Python ã® *args
ã¨åãããã«ãå¼ã³åºãå´ããæ¸¡ãããä½åãªå¼æ°ããã¹ã¦é
åã«éåããããã¨ãã§ãã¾ããï¼JS ã¯è¨èªã¬ãã«ã§ååä»ã弿°ãæã£ã¦ããªãã®ã§ã **kwargs
ã¯ããã¾ãããï¼
function avg(...args) {
let sum = 0;
for (const item of args) {
sum += item;
}
return sum / args.length;
}
avg(2, 3, 4, 5); // 3.5
ä¸ã®ã³ã¼ãã§ã¯ã夿° args
ã«é¢æ°ã«æ¸¡ãããå¤ããã¹ã¦æ ¼ç´ãã¦ãã¾ãã
æ®ä½å¼æ°ã¯ã宣è¨ããã弿°ä»¥éããã¹ã¦æ ¼ç´ãã¾ããã宣è¨ãããåã®å¼æ°ã¯æ ¼ç´ãã¾ãããè¨ãæããã°ã function avg(firstValue, ...args)
ã¯é¢æ°ã«æ¸¡ãããæåã®å¤ã firstValue
夿°ã«æ ¼ç´ããæ®ãã®å¼æ°ã args
ã«æ ¼ç´ãã¾ãã
颿°ã弿°ã®ãªã¹ããåãå
¥ãããããããã§ã«é
åã«ããå ´åã颿°å¼ã³åºãã®ä¸ã§ã¹ãã¬ããæ§æã使ã£ã¦ãé
åãè¦ç´ ã®ãªã¹ãã¨ãã¦å±éãããã¨ãã§ãã¾ããä¾ãã° avg(...numbers)
ã®ããã«ãã¾ãã
JavaScript ã«ã¯ååä»ã弿°ããªãã¨è¿°ã¹ã¾ããããããããªãã¸ã§ã¯ãã便å©ã«ããã¯ãããå±éãããã§ãããªãã¸ã§ã¯ãæ§é åè§£ã使ç¨ãã¦å®è£ ãããã¨ã¯å¯è½ã§ãã
// { } 䏿¬å¼§ã¯ãªãã¸ã§ã¯ããæ§é åè§£ãã
function area({ width, height }) {
return width * height;
}
// { } 䏿¬å¼§ã¯ããã§ã¯æ°ãããªãã¸ã§ã¯ãã使ãã
console.log(area({ width: 2, height: 3 }));
ã¾ããããã©ã«ã弿°æ§æãããã¾ããããã¯ãçç¥ãã弿°ï¼ã¾ãã¯å¤ãdefinedã¨ãã¦æ¸¡ããã弿°ï¼ã«æ¢å®å¤ãæããããã®ã§ãã
function avg(firstValue, secondValue, thirdValue = 0) {
return (firstValue + secondValue + thirdValue) / 3;
}
avg(1, 2); // 1, instead of NaN
ç¡å颿°
JavaScript ã§ã¯ç¡å颿°ãã¤ã¾ãååã®ãªã颿°ã使ãããã¨ãã§ãã¾ããå®éã«ã¯ãç¡å颿°ã¯ä»ã®é¢æ°ã®å¼æ°ã¨ãã¦ä½¿ç¨ããããã颿°ãå¼ã³åºãããã«ä½¿ç¨ã§ãã夿°ã«ä»£å ¥ãããããä»ã®é¢æ°ããè¿ãããããã¾ãã
// æ¬å¼§ã®åã«é¢æ°åããªããã¨ã«æ³¨æ
const avg = function (...args) {
let sum = 0;
for (const item of args) {
sum += item;
}
return sum / args.length;
};
ããã«ããã弿°ãæå®ã㦠avg()
ãå¼ã³åºããã¨ã§ãç¡å颿°ãå¼ã³åºããã¨ãã§ããããã«ãªãã¾ããã¤ã¾ããæå³ã¥ãã¨ãã¦ã¯ function avg() {}
ã¨ããå®£è¨æ§æã使ç¨ãã¦é¢æ°ã宣è¨ãããã¨ã¨åãã«ãªãã¾ãã
ç¡å颿°ãå®ç¾©ããæ¹æ³ã¯ãä»ã«ãã¢ãã¼é¢æ°å¼ã使ç¨ããæ¹æ³ãããã¾ãã
// æ¬å¼§ã®åã«é¢æ°åããªããã¨ã«æ³¨æ
const avg = (...args) => {
let sum = 0;
for (const item of args) {
sum += item;
}
return sum / args.length;
};
// åã«å¼ãè¿ãå ´å㯠`return` ãçç¥ã§ãã
const sum = (a, b, c) => a + b + c;
ã¢ãã¼é¢æ°ã¯æå³çã«é¢æ°å¼ã¨ç価ã§ã¯ããã¾ããã詳ããã¯ããã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ãåç §ãã¦ãã ããã
颿°å¼ãå½¹ã«ç«ã¤ä»ã®å ´é¢ãããã¾ããåä¸ã®å¼ã§é¢æ°ã®å®£è¨ã¨èµ·åãåæã«è¡ãä»çµã¿ãããã¾ãããã㯠IIFE (Immediately invoked function expression) ã¨å¼ã°ãã¾ãã
(function () {
// â¦
})();
IIFE ã®ç¨éã«ã¤ãã¦ã¯ãã¯ãã¼ã¸ã£ã§ãã©ã¤ãã¼ãã¡ã½ãããæ¨¡å£ããã§è¦ããã¨ãã§ãã¾ãã
å台颿°JavaScript ã§ã¯é¢æ°ãå帰çã«å¼ã³åºããã¨ãã§ãã¾ããããã¯ç¹ã«ãã©ã¦ã¶ã¼ã® DOM ãªã©ã«ã¿ãããæ¨æ§é ãåãæ±ãã¨ãã«ä¾¿å©ã§ãããã
function countChars(elm) {
if (elm.nodeType === 3) {
// TEXT_NODE
return elm.nodeValue.length;
}
let count = 0;
for (let i = 0, child; (child = elm.childNodes[i]); i++) {
count += countChars(child);
}
return count;
}
颿°å¼ã«ã¯ååãä»ãããã¨ãã§ããã®ã§ãåæ§ã«å帰ã«ãããã¨ãã§ãã¾ãã
const charsInBody = (function counter(elm) {
if (elm.nodeType === 3) {
// TEXT_NODE
return elm.nodeValue.length;
}
let count = 0;
for (let i = 0, child; (child = elm.childNodes[i]); i++) {
count += counter(child);
}
return count;
})(document.body);
ä¸è¨ã®ããã«é¢æ°å¼ã«ä¸ããããååã¯ã颿°èªèº«ã®ã¹ã³ã¼ãå ã§ã®ã¿æå¹ã§ããããã¯ã¨ã³ã¸ã³ã«ããé«åº¦ãªæé©åãå®ç¾ãã¦ãçµæçã«å¯èªæ§ãé«ãã³ã¼ãã«ãªãã¾ãããã®ååã¯ãããã¬ã¼ãã¹ã¿ãã¯ãã¬ã¼ã¹ã«ã表示ããã¾ãã®ã§ããããã°ã«ãããæéãç¯ç´ã§ãã¾ãã
颿°åããã°ã©ãã³ã°ã使ç¨ãã¦ããå ´åã JavaScript ã§ã®å帰ã®ããã©ã¼ãã³ã¹ã¸ã®å½±é¿ã«æ³¨æãã¦ãã ãããè¨èªä»æ§ã§ã¯æ«å°¾å¼åºãæé©åãæå®ãã¦ãã¾ãããã¹ã¿ãã¯ãã¬ã¼ã¹ã®å¾©å ããããã¬ããªãã£ãé£ãããããJavaScriptCoreï¼Safariã§ä½¿ç¨ããã¦ãã¾ãï¼ã®ã¿å®è£ ãã¦ãã¾ããæ·±ãå帰ã§ã¯ãã¹ã¿ãã¯ãªã¼ãã¼ããã¼ãé¿ããããã«ä»£ããã«å復å¦çãç¨ãããã¨ãæ¤è¨ãã¦ãã ããã
颿°ã¯ç¬¬ä¸ç´ãªãã¸ã§ã¯ãJavaScript ã®é¢æ°ã¯ç¬¬ä¸ç´ã®ãªãã¸ã§ã¯ãã§ããããã¯ã颿°ã夿°ã«å²ãå½ã¦ããã¨ãã§ããä»ã®é¢æ°ã«å¼æ°ã¨ãã¦æ¸¡ããã¨ãã§ããä»ã®é¢æ°ããè¿ããã¨ãã§ãããã¨ãæå³ãã¦ãã¾ããããã« JavaScript ã§ã¯ãæç¤ºçã«ãã£ããã£ãããã¨ãªãããã«ã¯ãã¼ã¸ã£ã«å¯¾å¿ãã¦ããããã颿°åããã°ã©ãã³ã°ã®ã¹ã¿ã¤ã«ã便å©ã«é©ç¨ãããã¨ãã§ãã¾ãã
// 颿°ãè¿ã颿°
const add = (x) => (y) => x + y;
// 颿°ãåãå
¥ãã颿°
const babies = ["dog", "cat", "hen"].map((name) => `baby ${name}`);
JavaScript ã®é¢æ°ã¯ããèªä½ããªãã¸ã§ã¯ãã§ããã JavaScript ã§ä»ã®ãã®ã¨åæ§ã«ããªãã¸ã§ã¯ãã®ç¯ã§è¦ã¦ãããããªãããããã£ã®è¿½å ã夿´ãã§ãããã¨ã«æ³¨æãã¦ãã ããã
å é¨é¢æ°JavaScript ã§ã®é¢æ°å®£è¨ã¯ä»ã®é¢æ°å ã§ãè¡ããã¨ãã§ãã¾ãã JavaScript ã§é¢æ°ãå ¥ãåã«ãããã¨ã®éè¦ãªãã¨ã¯ãå é¨é¢æ°å ã§è¦ªé¢æ°ã¹ã³ã¼ãã®å¤æ°ã«ã¢ã¯ã»ã¹ã§ãããã¨ã§ãã
function parentFunc() {
const a = 1;
function nestedFunc() {
const b = 4; // parentFunc ã¯ããã使ç¨ã§ããªã
return a + b;
}
return nestedFunc(); // 5
}
å é¨é¢æ°ã¯ä¿å®ããããã³ã¼ããæ¸ãã¨ãã«å¤å¤§ãªå©ä¾¿æ§ãããããã¾ãããã颿°ãä»ã®é¨åã®ã³ã¼ãã§ã¯å½¹ç«ããªã颿°ã 1 ã¤ã 2 ã¤ä½¿ã£ã¦ãããªãããããã®ã¦ã¼ãã£ãªãã£é¢æ°ãä»ããå¼ã³åºããã颿°ã®å ¥ãåã«ãããã¨ãã§ãã¾ããå é¨é¢æ°ã¯ã°ãã¼ãã«ã¹ã³ã¼ãã§ãªããªãã®ã§ããããã¨ã§ãã
å é¨é¢æ°ã¯ã°ãã¼ãã«å¤æ°ã使ãã¨ããèªæã«å¯¾ããå¯¾ææªç½®ã§ããè¤éãªã³ã¼ããæ¸ãã¨ããè¤æ°ã®é¢æ°éã§å¤ãå ±æããããã«ã°ãã¼ãã«å¤æ°ã使ããããªãã¾ããããããããã§ã¯ä¿å®ããã¥ãããªãã¾ããå é¨é¢æ°ã¯è¦ªé¢æ°ã®å¤æ°ãå ±æã§ããã®ã§ãã°ãã¼ãã«ãªåå空éãæ¶è²»ããã«è¤æ°ã®é¢æ°ãã¾ã¨ãããã¨ãã§ãã¾ãã
ã¯ã©ã¹JavaScript ã«ã¯ class æ§æãããããã㯠Java ãªã©ã®è¨èªã«ã¨ã¦ãããä¼¼ã¦ãã¾ãã
class Person {
constructor(name) {
this.name = name;
}
sayHello() {
return `Hello, I'm ${this.name}!`;
}
}
const p = new Person("Maria");
console.log(p.sayHello());
JavaScript ã®ã¯ã©ã¹ã¯åãªã颿°ã§ããã new
æ¼ç®åã§ã¤ã³ã¹ã¿ã³ã¹åããå¿
è¦ãããã¾ããã¯ã©ã¹ã¯ã¤ã³ã¹ã¿ã³ã¹åããããã³ã«ããã®ã¯ã©ã¹ãæå®ããã¡ã½ãããããããã£ãæ ¼ç´ãããªãã¸ã§ã¯ããè¿ãã¾ããã¯ã©ã¹ã¯ã³ã¼ãã®æ´çãå¼·å¶ãã¾ãããä¾ãã°ãã¯ã©ã¹ãè¿ã颿°ãæã¤ãã¨ãã§ãã¾ããããã¡ã¤ã«ãã¨ã«è¤æ°ã®ã¯ã©ã¹ãæã¤ãã¨ãã§ãã¾ããä¾ãã°ãã¯ã©ã¹ã®çæã¯ã¢ãã¼é¢æ°ããçºçããå¼ã«éãã¾ããããã®ãã¿ã¼ã³ã¯ããã¯ã¹ã¤ã³ã¨å¼ã°ãã¾ãã
const withAuthentication = (cls) =>
class extends cls {
authenticate() {
// â¦
}
};
class Admin extends withAuthentication(Person) {
// â¦
}
éçããããã£ã¯å
é ã« static
ãä»ãã¦ä½æãã¾ãããã©ã¤ãã¼ãè¦ç´ ã¯å
é ã«ããã·ã¥ #
ãä»ãã¦ä½æãã¾ãï¼private
ã§ã¯ããã¾ããï¼ãããã·ã¥ã¯è¦ç´ ã®ååã®ä¸å¯æ¬ ãªé¨åã§ãããéå¸¸ã®æååãã¼ã®ããããã£ã¨åºå¥ãã¾ããï¼#
㯠Python 㮠_
ã¨èãã¦ãã ãããï¼ä»ã®å¤ãã®è¨èªã¨ã¯ç°ãªããæ´¾çã¯ã©ã¹ã§ãã£ã¦ããã¯ã©ã¹æ¬ä½ã®å¤ã§ãã©ã¤ãã¼ãè¦ç´ ãèªã¿åãæ¹æ³ã¯ããã¾ããã
æ§ã ãªã¯ã©ã¹æ©è½ã®è©³ç´°ãªã¬ã¤ãã«ã¤ãã¦ã¯ãã¬ã¤ããã¼ã¸ãåç §ãã¦ãã ããã
éåæããã°ã©ãã³ã°JavaScript ã¯æ¬è³ªçã«åä¸ã¹ã¬ããã§ãã並åå¦çã¯ãªãã並è¡å¦çã®ã¿ã§ããéåæããã°ã©ãã³ã°ã¯ã¤ãã³ãã«ã¼ãã«ãã£ã¦è¡ãããè¨å®ããã«ã¯ã¿ã¹ã¯ã®éåããã¥ã¼ã«å ¥ããå®äºããã¼ãªã³ã°ãã¾ãã
JavaScript ã§éåæã³ã¼ããæ¸ãæ £ç¨çãªæ¹æ³ã¯ 3 ã¤ããã¾ãã
setTimeout()
ãªã©ï¼Promise
) ãã¼ã¹async
/await
ä¾ãã°ã JavaScript ã§ãã¡ã¤ã«èªã¿è¾¼ã¿å¦çãããã¨æ¬¡ã®ããã«ãªãã¾ãï¼
// ã³ã¼ã«ããã¯ãã¼ã¹
fs.readFile(filename, (err, content) => {
// ãã®ã³ã¼ã«ããã¯ã¯ããã¡ã¤ã«ãèªã¿è¾¼ã¾ããã¨ãã«å¼ã³åºããã
if (err) {
throw err;
}
console.log(content);
});
// ãã®ã³ã¼ãã¯ããã¡ã¤ã«ãèªã¿è¾¼ã¾ããã®ãå¾
ã£ã¦ããéã«å®è¡ããã
// ãããã¹ãã¼ã¹
fs.readFile(filename)
.then((content) => {
// ãã¡ã¤ã«ãèªã¿åãããã¨ãã«å®è¡ããããã¨
console.log(content);
})
.catch((err) => {
throw err;
});
// ãã®ã³ã¼ãã¯ããã¡ã¤ã«ãèªã¿è¾¼ã¾ããã®ãå¾
ã£ã¦ããéã«å®è¡ããã
// Async/await
async function readFile(filename) {
const content = await fs.readFile(filename);
console.log(content);
}
ã³ã¢è¨èªã§ã¯éåæããã°ã©ãã³ã°æ©è½ãç¹ã«æå®ãã¦ãã¾ããããå¤é¨ç°å¢ã¨å¯¾è©±ããéã«ã¯é常ã«éè¦ã§ããã¦ã¼ã¶ã¼ã®è¨±å¯ãä¾é ¼ãããããã¼ã¿ãåå¾ãããããã¡ã¤ã«ãèªã¿åã£ããããã¨ããªã©ã§ããé·æéå®è¡ãããå¯è½æ§ã®ããå¦çãéåæã«ãã¦ãããã¨ã§ããã®å¦çãå¾ æ©ãã¦ããéãä»ã®å¦çãå®è¡ã§ãããã¨ãä¿è¨¼ãã¾ããä¾ãã°ãã¦ã¼ã¶ã¼ã許å¯ãä¸ãããã¿ã³ãã¯ãªãã¯ããã®ãå¾ ã£ã¦ããéã«ãã©ã¦ã¶ã¼ãããªã¼ãºããªãããã«ãã¾ãã
éåæã®å¤ãããå ´åããã®å¤ãåæçã«åå¾ãããã¨ã¯ã§ãã¾ãããä¾ãã°ããããã¹ãããå ´åãæçµçãªçµæã«ã¢ã¯ã»ã¹ããã«ã¯ then()
ã¡ã½ããã使ç¨ããããããã¾ãããåæ§ã«ã await
ã¯éåæã³ã³ããã¹ãï¼é常ã¯éåæé¢æ°ãã¢ã¸ã¥ã¼ã«ï¼ã§ãã使ç¨ã§ãã¾ããããããã¹ã¯æ±ºãã¦ããããã³ã°ããã¾ããããããã¹ã®çµæã«ä¾åãããã¸ãã¯ã ããé
å»¶ãããä»ã®ãã¹ã¦ã¯ãã®éã«å®è¡ããç¶ãã¾ãã颿°åããã°ã©ãã¼ã§ããã°ããããã¹ã¯ then()
ã§å²ãå½ã¦ãããã¢ããã§ããã¨èªèããããããã¾ããï¼ãããããããã¯èªåå¹³å¦åããããããå®å
¨ãªã¢ããã§ã¯ããã¾ãããã¤ã¾ã Promise<Promise<T>>
ãä½ããã¨ã¯ã§ãã¾ããï¼ã
å®éãã·ã³ã°ã«ã¹ã¬ããã¢ãã«ã§ããã«ããããããã Node.js ã¯ãã³ããããã³ã° IO ã®ããã夿°ã®ãã¼ã¿ãã¼ã¹ããã¡ã¤ã«ã·ã¹ãã ãªã¯ã¨ã¹ããå¦çãã¦ãã¨ã¦ãããã©ã¼ãã³ã¹ãé«ãããµã¼ãã¼ãµã¤ãããã°ã©ãã³ã°ã«ãã使ããã¦ãã¾ããããããç´ç²ãª JavaScript ã§ãã CPU ãã¦ã³ãï¼è¨ç®éç´çãªï¼ã¿ã¹ã¯ã¯ã¡ã¤ã³ã¹ã¬ããããããã¯ãã¾ããæ¬å½ã®ä¸¦ååãå®ç¾ããã«ã¯ãã¯ã¼ã«ã¼ ã使ç¨ããå¿ è¦ãããããããã¾ããã
éåæããã°ã©ãã³ã°ã«ã¤ãã¦ãã£ã¨å¦ã¶ã«ã¯ããããã¹ã®ä½¿ç¨ãèªãããéåæ JavaScript ãã¥ã¼ããªã¢ã«ã«å¾ã£ã¦ãã ããã
ã¢ã¸ã¥ã¼ã«JavaScript ã¯ã»ã¨ãã©ã®ã©ã³ã¿ã¤ã ã§å¯¾å¿ãã¦ããã¢ã¸ã¥ã¼ã«ã·ã¹ãã ãæå®ãã¦ãã¾ããã¢ã¸ã¥ã¼ã«ã¯é常ãã¡ã¤ã«ã§ããããã¡ã¤ã«ãã¹ã¾ã㯠URL ã§èå¥ããã¾ããã¢ã¸ã¥ã¼ã«éã§ãã¼ã¿ã交æããããã« import
ããã³ export
æã使ç¨ãããã¨ãã§ãã¾ãã
import { foo } from "./foo.js";
// ã¨ã¯ã¹ãã¼ãããã¦ããªã夿°ã¯ã¢ã¸ã¥ã¼ã«ã«ãã¼ã«ã«
const b = 2;
export const a = 1;
HaskellãPythonãJava ãªã©ã¨ã¯ç°ãªãã JavaScript ã®ã¢ã¸ã¥ã¼ã«è§£å度ã¯å®å ¨ã«ãã¹ãå®ç¾©ã§ããé常㯠URL ããã¡ã¤ã«ãã¹ã«åºã¥ãã¦ããã®ã§ãç¸å¯¾ãã¡ã¤ã«ãã¹ã¯ããã¾ãè¡ãããããã¸ã§ã¯ãã®ã«ã¼ããã¹ã§ã¯ãªãç¾å¨ã®ã¢ã¸ã¥ã¼ã«ã®ãã¹ããã®ç¸å¯¾ãã¹ã¨ãªãã¾ãã
ãããã JavaScript è¨èªã¯æ¨æºã©ã¤ãã©ãªã¼ã¢ã¸ã¥ã¼ã«ãæä¾ãã¦ãã¾ããããã¹ã¦ã®ã³ã¢æ©è½ã¯ã代ããã« Math
ã Intl
ã®ãããªã°ãã¼ãã«å¤æ°ã«ãã£ã¦åãã¦ãã¾ããããã¯ã JavaScriptãé·ãéã¢ã¸ã¥ã¼ã«ã·ã¹ãã ãæ¬ ãã¦ããæ´å²ã¨ãã¢ã¸ã¥ã¼ã«ã·ã¹ãã ãé¸ã¶ã¨ã©ã³ã¿ã¤ã ã®ã»ããã¢ããã«ããã¤ãã®å¤æ´ãä¼´ãã¨ããäºå®ã«ãããã®ã§ãã
ã©ã³ã¿ã¤ã ãç°ãªãã°ã使ç¨ããã¢ã¸ã¥ã¼ã«ã·ã¹ãã ãç°ãªãã¾ããä¾ãã°ã Node.js ã¯ããã±ã¼ã¸ããã¼ã¸ã£ npm ã使ç¨ããã»ã¨ãã©ã®å ´åãã¡ã¤ã«ã·ã¹ãã ãã¼ã¹ã§ããã Deno ããã©ã¦ã¶ã¼ã¯å®å ¨ã« URL ãã¼ã¹ã§ã HTTP URL ããã¢ã¸ã¥ã¼ã«ã解決ãããã¨ãã§ãã¾ãã
詳ããæ å ±ã¯ã¢ã¸ã¥ã¼ã«ã¬ã¤ããã¼ã¸ãåç §ãã¦ãã ããã
è¨èªã¨ã©ã³ã¿ã¤ããã®ãã¼ã¸ãéãã¦ãããæ©è½ã¯ãè¨èªã¬ãã«ãã§ãããä»ã«ããã©ã³ã¿ã¤ã ã¬ãã«ãã®æ©è½ããããã¨ã常ã«è¿°ã¹ã¦ãã¾ããã
JavaScript ã¯æ±ç¨ã¹ã¯ãªããè¨èªã§ããã³ã¢è¨èªä»æ§ã¯ãç´ç²ãªè¨ç®ãã¸ãã¯ã«ç¦ç¹ãå½ã¦ã¦ãã¾ããå
¥åºåã¯æ±ãã¾ãããå®éãç¹å¥ãªã©ã³ã¿ã¤ã ã¬ãã«ã® API ï¼æãæåãªãã®ã console.log()
ï¼ããªããã°ã JavaScript ããã°ã©ã ã®åä½ã¯å®å
¨ã«è¦³å¯ä¸å¯è½ã§ãã
ã©ã³ã¿ã¤ã ãã¾ãã¯ãã¹ãã¨ã¯ã JavaScript ã¨ã³ã¸ã³ï¼ã¤ã³ã¿ã¼ããªã¿ã¼ï¼ã«ãã¼ã¿ãä¾çµ¦ããç¹å¥ãªã°ãã¼ãã«ããããã£ãæä¾ããã¨ã³ã¸ã³ãå¤ã®ä¸çã¨å¯¾è©±ããããã®ä»æããæä¾ãããã®ã§ããã¢ã¸ã¥ã¼ã«è§£æ±ºããã¼ã¿ã®èªã¿è¾¼ã¿ãã¡ãã»ã¼ã¸ã®åºåããããã¯ã¼ã¯ãªã¯ã¨ã¹ãã®éä¿¡ãªã©ã¯ãã¹ã¦ã©ã³ã¿ã¤ã ã¬ãã«ã®å¦çã§ãã JavaScript ã¯ãã®èªç以æ¥ã DOM ã®ãã㪠API ãæä¾ãããã©ã¦ã¶ã¼ããã¡ã¤ã«ã·ã¹ãã ã¢ã¯ã»ã¹ ãªã©ã® API ãæä¾ãã Node.js ãªã©ããã¾ãã¾ãªç°å¢ã§æ¡ç¨ããã¦ãã¾ããã JavaScript ã¯ã¦ã§ãï¼ãããæ¬æ¥ã®ç®çã§ããï¼ãã¢ãã¤ã«ã¢ããªããã¹ã¯ãããã¢ããªããµã¼ãã¼ãµã¤ãã¢ããªããµã¼ãã¼ã¬ã¹ãçµã¿è¾¼ã¿ã·ã¹ãã ãªã©ã§ãã¾ãçµ±åããã¦ãã¾ãã JavaScript ã®ã³ã¢æ©è½ãå¦ã¶ä¸æ¹ã§ãç¥èã使ç¨ããããã«ã¯ãã¹ãã£ã³ã°æä¾ãããæ©è½ãçè§£ãããã¨ãéè¦ã§ããä¾ãã°ãã¦ã§ããã©ãããã©ã¼ã API ã¯ãã¹ã¦èªããã¨ãã§ãããããã¯ãã©ã¦ã¶ã¼ãæã«ã¯ãã©ã¦ã¶ã¼ä»¥å¤ã«ãã£ã¦å®è£ ããã¾ãã
ãããªãæ¢ç©¶ãã®ãã¼ã¸ã§ã¯ã JavaScript ã®æ§ã ãªæ©è½ãä»ã®è¨èªã¨æ¯è¼ãã¦ã©ãç°ãªãã®ãã¨ãã観ç¹ã§ãã¨ã¦ãåºæ¬çãªãã¨ã説æãã¦ãã¾ããè¨èªãã®ãã®ãåæ©è½ã®ç´°é¨ã«ã¤ãã¦ãã£ã¨ç¥ãããå ´åã¯ãJavaScript ã¬ã¤ãã JavaScript ãªãã¡ã¬ã³ã¹ãåç §ãã¦ãã ããã
è¨èªã®æ¬è³ªçãªé¨åã«ã¤ãã¦ã¯ãç´é¢ã è¤éãã®ããã«çç¥ããé¨åãããã¾ãããèªåèªèº«ã§æ¢æ±ãã¦ãã ããã
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