ãã®ç« ã§ã¯ JavaScript ã®å¼ (expression) ãæ¼ç®å (operator) ã«ã¤ãã¦ãä»£å ¥ãæ¯è¼ãç®è¡ãããããè«çãæååãä¸é æ¼ç®åãªã©ã説æãã¦ãã¾ãã
é«ãã¬ãã«ã§ã¯ãå¼ ã¯å¤ã«è§£æ±ºããã³ã¼ãã®æå¹ãªåä½ã§ããå¼ã«ã¯ ï¼å¤ãä»£å ¥ãããªã©ã®ï¼å¯ä½ç¨ããããã®ã¨ãç´ç²ã« è©ä¾¡ ãè¡ããã®ã® 2 種é¡ãããã¾ãã
x = 7
ã¨ããå¼ã¯åè
ã®ä¾ã§ãããã®å¼ã¯ =
æ¼ç®å ã使ç¨ãã¦ã夿° x
ã«å¤ 7 ã代å
¥ãã¦ãã¾ãããã®å¼èªä½ã¯ 7
ã¨è©ä¾¡ããã¾ãã
3 + 4
ã¨ããå¼ã¯å¾è
ã®ä¾ã§ãããã®å¼ã¯ +
æ¼ç®åã使ç¨ã㦠3
㨠4
ãå ç®ããå¤ã¨ã㦠7
ãçã¿åºãã¾ãããããããããããæçµçã«å¤§ããªæ§æè¦ç´ ï¼ä¾ãã°ãconst z = 3 + 4
ã®ãããªå¤æ°å®£è¨ï¼ã®ä¸é¨ã§ãªããã°ããã®çµæã¯ããã«ç ´æ£ããã¾ããè©ä¾¡ãä½ã®å¹æããããããªãã®ã§ãããã¯é常ããã°ã©ãã¼ã®ãã¹ã§ãã
ä¸ã®ä¾ã§ã示ããããã«ããã¹ã¦ã®è¤éãªå¼ã¯ =
ã +
ãªã©ã® æ¼ç®å ã§çµåããã¦ãã¾ãããã®ç¯ã§ã¯ã以ä¸ã®æ¼ç®åãç´¹ä»ãã¾ãã
ãããã®æ¼ç®åã¯ãããé«ãåªå é ä½ã®æ¼ç®åããåºæ¬çãªå¼ã® 1 ã¤ã«ãã£ã¦å½¢æããããªãã©ã³ããçµåãã¾ããæ¼ç®åã¨å¼ã®å®å ¨ã§è©³ç´°ãªãªã¹ãã¯ããªãã¡ã¬ã³ã¹ã«æ²è¼ããã¦ãã¾ãã
æ¼ç®åã® åªå é ä½ ã¯ãå¼ãè©ä¾¡ããéã«æ¼ç®åãè©ä¾¡ããé åºã決å®ãã¾ããä¾ãã°æ¬¡ã®ä¾ãã覧ãã ããã
const x = 1 + 2 * 3;
const y = 2 * 3 + 1;
*
㨠+
ã®é åºãç°ãªãã«ãããããããã©ã¡ãã®å¼ã 7
ã¨ããçµæã«ãªãã¾ãããªããªãã *
㯠+
ãããåªå
ãããã®ã§ã *
ã¨çµåãããå¼ãå¸¸ã«æåã«è©ä¾¡ãããããã§ããæ¼ç®åã®åªå
é ä½ã䏿¸ãããã«ã¯ãæ¬å¼§ã使ç¨ãã¾ãï¼ã°ã«ã¼ãåå¼ - åºæ¬çãªå¼ã使ãã¾ãï¼ãæ¼ç®åã®åªå
é ä½ã®å®å
¨ãªè¡¨ã¨æ§ã
ãªæ³¨æç¹ãè¦ãã«ã¯ãæ¼ç®åã®åªå
é ä½ã®ãªãã¡ã¬ã³ã¹ãã¼ã¸ãåç
§ãã¦ãã ããã
JavaScript 㯠äºé æ¼ç®å ã åé æ¼ç®å ãå®è£ ãã¦ãããããã«ã¯ç¹æ®ãªä¸é æ¼ç®åã§ããæ¡ä»¶æ¼ç®åãå®è£ ãã¦ãã¾ãã äºé æ¼ç®åã¯æ¬¡ã®ããã«ãæ¼ç®åã®åã¨æ¼ç®åã®å¾ã« 2 ã¤ã®ãªãã©ã³ã (operand) ãå¿ è¦ã¨ãªãã¾ãã
ãªãã©ã³ã1 æ¼ç®å ãªãã©ã³ã2
ä¾ãã° 3 + 4
ã x * y
ã§ãããã®å½¢å¼ã¯ãæ¼ç®åã 2 ã¤ã®ãªãã©ã³ãã®éã«é
ç½®ãããããã infix äºé
æ¼ç®åã¨å¼ã°ãã¾ããJavaScript ã§ä½¿ç¨ããããã¹ã¦ã®äºé
æ¼ç®å㯠infix ã§ãã
åé æ¼ç®åã¯æ¼ç®åã®åå¾ããããã«ã 1 ã¤ã®ãªãã©ã³ããå¿ è¦ã§ãã
æ¼ç®å ãªãã©ã³ã ãªãã©ã³ã æ¼ç®å
ä¾ãã° x++
ã ++x
ã§ããæ¼ç®å ãªãã©ã³ã
ã®å½¢ã åç½® åé
æ¼ç®åããªãã©ã³ã æ¼ç®å
ã®å½¢ã å¾ç½® åé
æ¼ç®åã¨å¼ã³ã¾ããJavaScript ã§ã¯å¾ç½®æ¼ç®å㯠++
㨠--
ã ãã§ãã!
ã typeof
ãªã©ãä»ã®ãã¹ã¦ã®æ¼ç®åã¯åç½®åã§ãã
代å
¥æ¼ç®åã¯å³ãªãã©ã³ãã®å¤ãå
ã«ãå·¦ã®ãªãã©ã³ãã¸å¤ã代å
¥ãããã®ã§ãã åç´ãªä»£å
¥æ¼ç®åã¯ã¤ã³ã¼ã« (=
) ããããå³ãªãã©ã³ãã®å¤ãå·¦ãªãã©ã³ãã¸ä»£å
¥ãã¾ãã ã¤ã¾ãã x = f()
㯠f()
ã®å¤ã x
ã¸ä»£å
¥ãã代å
¥å¼ã§ãã
次ã®è¡¨ã«ã¾ã¨ãããã¦ããããã«ãæ¼ç®åãçç¥è¡¨è¨ããè¤åä»£å ¥æ¼ç®åãããã¾ãã
ããããã£ã¸ã®ä»£å ¥ããå¼ããªãã¸ã§ã¯ãã¨ãã¦è©ä¾¡ãããå ´åãä»£å ¥å¼ã®å·¦è¾ºããã®å¼ã®ããããã£ã¸ã®ä»£å ¥ã«ãããã¨ãã§ãã¾ããä¾ãã°æ¬¡ã®ããã«ãªãã¾ãã
const obj = {};
obj.x = 3;
console.log(obj.x); // 3 ã¨è¡¨ç¤º
console.log(obj); // { x: 3 } ã¨è¡¨ç¤º
const key = "y";
obj[key] = 5;
console.log(obj[key]); // 5 ã¨è¡¨ç¤º
console.log(obj); // { x: 3, y: 5 } ã¨è¡¨ç¤º
ãªãã¸ã§ã¯ãã«ã¤ãã¦è©³ããã¯ããªãã¸ã§ã¯ãã§ã®ä½æ¥ãèªãã§ãã ããã
å¼ããªãã¸ã§ã¯ãã¨ãã¦è©ä¾¡ãããªãå ´åã¯ããã®å¼ã®ããããã£ã¸ã®ä»£å ¥ã¯è¡ããã¾ããã
const val = 0;
val.x = 3;
console.log(val.x); // undefined ã¨è¡¨ç¤º
console.log(val); // 0 ã¨è¡¨ç¤º
峿 ¼ã¢ã¼ãã§ã¯ãããªããã£ãã®ããããã£ã«ä»£å ¥ãããã¨ãã§ããªããããä¸è¨ã®ã³ã¼ãã¯ä¾å¤ãçºçãã¾ãã
夿´ã§ããªãããããã£ããããããã£ãæããªãå¼ã®ããããã£ï¼null
ã undefined
ï¼ã«å¤ã代å
¥ãããã¨ããã¨ã¨ã©ã¼ã¨ãªãã¾ãã
ããè¤éãªä»£å ¥æ¹æ³ãæ§é åè§£æ§æã¯ãé åããªãã¸ã§ã¯ãã®ãªãã©ã«æ§é ãåæ ããæ§æãç¨ãã¦ãé åããªãã¸ã§ã¯ããããã¼ã¿ãæ½åºãããã¨ãã§ãã JavaScript ã®å¼ã§ãã
æ§é åè§£ãããªãã¨ãé åããªãã¸ã§ã¯ãããå¤ãåãåºãã®ã«è¤æ°ã®æãå¿ è¦ã«ãªãã¾ãã
const foo = ["one", "two", "three"];
const one = foo[0];
const two = foo[1];
const three = foo[2];
æ§é åè§£ã使ç¨ããã¨ãåä¸ã®æã§è¤æ°ã®å¤ãå¥ã ã®å¤æ°ã«æ½åºãããã¨ãã§ãã¾ãã
const [one, two, three] = foo;
è©ä¾¡ã¨ãã¹ã
ä¸è¬ã«ã代å
¥ã¯å¤æ°å®£è¨ã®ä¸ã§ï¼ããªãã¡ã const
, let
, var
ã¨ä¸ç·ã«ï¼ãã¾ãã¯ç¬ç«ããæã¨ãã¦ä½¿ç¨ããã¾ãã
// 夿° x ã宣è¨ãã f() ã®è¿å¤ã§åæåãã¾ãã
// x = f() ã®ä»£å
¥å¼ã®è¿å¤ã¯ç ´æ£ããã¾ãã
let x = f();
x = g(); // 夿° x ã« g() ã®è¿å¤ãå代å
¥ãã¾ãã
ããããä»ã®å¼ã¨åæ§ã«ãx = f()
ã®ãããªä»£å
¥å¼ãçµæå¤ã¨ãã¦è©ä¾¡ããã¾ãã ãã®çµæã®å¤ã¯é常ã¯ä½¿ç¨ããã¾ããããå¥ã®å¼ã§ä½¿ç¨ãããã¨ãã§ãã¾ãã
ä»£å ¥ãé£éãããããä»ã®å¼ã§ä»£å ¥ãå ¥ãåã«ããã¨ãé©ããããªåä½ã«ãªããã¨ãããã¾ãã ãã®ããã JavaScript ã®ã¹ã¿ã¤ã«ã¬ã¤ãã«ãã£ã¦ã¯ãä»£å ¥ã®é£éãå ¥ãåãé£éãå ¥ãåã®ä»£å ¥ã鿍奍ã¨å®ãã¦ãããã¨ãããã¾ããï¼ ã¨ã¯ãããä»£å ¥ã®é£éãå ¥ãåãçºçãããã¨ãããã®ã§ãããããã©ã®ããã«åä½ããã®ãçè§£ã§ããããã«ãã¦ãããã¨ã¯éè¦ã§ãã
ä»£å ¥å¼ãé£éããããå ¥ãåã«ããããããã¨ã§ããã®çµæèªä½ãå¥ã®å¤æ°ã«ä»£å ¥ãããã¨ãã§ãã¾ãã ã¾ãããã°ã«è¨é²ããããé åãªãã©ã«ã颿°å¼ã³åºãã®ä¸ã«å ¥ããããããã¨ãå¯è½ã§ãã
let x;
const y = (x = f()); // ã¾ã㯠const y = x = f(); ã¨åç
console.log(y); // assignment x = f() ã®è¿å¤ãåºå
console.log(x = f()); // è¿å¤ãç´æ¥åºå
// 代å
¥å¼ã¯ãé
åãªãã©ã«ã®è¦ç´ ã颿°å¼ã³åºãã®å¼æ°ãªã©ã
// ä¸è¬ã«å¼ã許ãããå ´æã§ããã°ã©ãã§ãå
¥ãåã«ãããã¨ã
// ã§ãã¾ãã
console.log([0, x = f(), 0]);
console.log(f(0, x = f(), 0));
è©ä¾¡çµæã¯ãä¸ã®è¡¨ã®ãæå³ãã®æ¬ã® =
è¨å·ã®å³å´ã«ããå¼ã«ä¸è´ãã¾ããã¤ã¾ãã x = f()
㯠f()
ã®çµæã«ãx += f()
ã¯çµæã®å x + f()
ã«ã x **= f()
ã¯çµæã®ã¹ãä¹ x ** f()
ã«è©ä¾¡ããããã¨ãã£ãå
·åã«ãªãã¾ãã
è«ç代å
¥ã®å ´åã x &&= f()
, x ||= f()
, x ??= f()
ã¯ï¼ãããã代å
¥ãé¤ããè«çæ¼ç®ã®è¿å¤ãªã®ã§ã x && f()
, x || f()
, x ?? f()
ã¨ãªãã¾ãã
ãããã®å¼ãæ¬å¼§ãé åãªãã©ã«ã®ãããªã°ã«ã¼ãåæ¼ç®åãªãã§é£çµããå ´åãä»£å ¥å¼ã¯å³ããå·¦ã¸ã°ã«ã¼ãåããã¾ãï¼å³çµåã§ãï¼ããå·¦ããå³ã¸è©ä¾¡ããã¾ãã
ã¾ãã =
以å¤ã®ãã¹ã¦ã®ä»£å
¥æ¼ç®åã§ã¯ãçµæã®å¤ã¯å¸¸ã«æ¼ç®åã®ãªãã©ã³ãã®å¤ã«åºã¥ãã¦ãããã¨ã«æ³¨æãã¦ãã ããã
ä¾ãã°ã次ã®ãããªé¢æ° f
㨠g
ã夿° x
㨠y
ã宣è¨ããã¦ããã¨ä»®å®ãã¾ãã
function f() {
console.log("F!");
return 2;
}
function g() {
console.log("G!");
return 3;
}
let x, y;
ãã® 3 ã¤ã®ä¾ãèãã¦ã¿ã¾ãããã
y = x = f();
y = [f(), x = g()];
x[f()] = g();
è©ä¾¡ä¾ 1
y = x = f()
㯠y = (x = f())
ã¨åãã§ãã =
ã¯å³çµåã ããã§ãã ããããè©ä¾¡ã¯å·¦ããå³ã¸è¡ããã¾ãã
y = x = f()
ã®è©ä¾¡ãå§ã¾ãã¾ãã
y
ã¯ã夿° y
ã¸ã®åç
§ã¨ãã¦è©ä¾¡ããã¾ããx = f()
ã®è©ä¾¡ãå§ã¾ãã¾ãã
x
ã¯ã x
ã¨ããååã®å¤æ°ã¸ã®åç
§ã¨ãã¦è©ä¾¡ããã¾ããf()
ã§ã³ã³ã½ã¼ã«ã« "F!" ã¨è¡¨ç¤ºããæ¬¡ã«æ°å¤ 2
ã¨è©ä¾¡ããã¾ãã2
ã f()
ã®çµæã¨ãªã x
ã«ä»£å
¥ããã¾ããx = f()
ã®è©ä¾¡ãçµããã¾ããã ãã®çµæã¯ã x
ã®æ°ããå¤ãããªãã¡ 2
ã§ãã2
ã y
ã«ã代å
¥ããã¾ããy = x = f()
ã®è©ä¾¡ãçµããã¾ããã ãã®çµæã¯ y
ã®æ°ããå¤ã§ããã㯠2
ã¨ãªãã¾ãã x
㨠y
㯠2
ã代å
¥ãããã³ã³ã½ã¼ã«ã«ã¯ "F!" ã¨è¡¨ç¤ºããã¾ãããy = [ f(), x = g() ]
ãå·¦ããå³ã¸è©ä¾¡ãè¡ããã¾ãã
y = [ f(), x = g() ]
ã®è©ä¾¡ãå§ã¾ãã¾ãã
y
ã¯ã夿° y
ã¸ã®åç
§ã¨ãã¦è©ä¾¡ããã¾ãã[ f(), x = g() ]
ã®è©ä¾¡ãå§ã¾ãã¾ãã
f()
ã§ã³ã³ã½ã¼ã«ã« "F!" ã¨è¡¨ç¤ºããæ¬¡ã«æ°å¤ 2
ã¨è©ä¾¡ããã¾ããx = g()
ã®è©ä¾¡ãå§ã¾ãã¾ãã
x
ã¯ã x
ã¨ããååã®å¤æ°ã¸ã®åç
§ã¨ãã¦è©ä¾¡ããã¾ããg()
ã§ã³ã³ã½ã¼ã«ã« "G!" ã¨è¡¨ç¤ºããæ¬¡ã«æ°å¤ 3
ã¨è©ä¾¡ããã¾ãã3
ã g()
ã®çµæã¨ãªã x
ã«ä»£å
¥ããã¾ããx = g()
ã®è©ä¾¡ãçµããã¾ããã ãã®çµæã¯ã x
ã®æ°ããå¤ãããªãã¡ 3
ã§ãã ãã® 3
ã®çµæã¯ãå
å´ã®é
åãªãã©ã«ã®æ¬¡ã®è¦ç´ ã«ãªãã¾ãï¼f()
ã® 2
ã®å¾ã§ãï¼ã[ f(), x = g() ]
ã®è©ä¾¡ãçµããã¾ããã çµæã¯ 2 ã¤ã®å¤ãæã¤é
åã [ 2, 3 ]
ã§ãã[ 2, 3 ]
ã y
y = [ f(), x = g() ]
ã®è©ä¾¡ãçµããã¾ããã çµæã¨ã㦠y
ãæ°ããå¤ã [ 2, 3 ]
ã«ãªãã¾ãã x
ã«ã¯ 3
ã代å
¥ããã¾ããã y
ã«ã¯ [ 2, 3 ]
ã代å
¥ãããã³ã³ã½ã¼ã«ã«ã¯ "F!" ã®å¾ã« "G!" ã表示ããã¾ããx[f()] = g()
ãå·¦ããå³ã¸è©ä¾¡ããã¾ãã ï¼ãã®ä¾ã§ã¯ x
ã«ã¯æ¢ã«ä½ããã®ãªãã¸ã§ã¯ãã代å
¥ããã¦ããã¨æ³å®ãã¦ãã ããã ãªãã¸ã§ã¯ãã«ã¤ãã¦è©³ããã¯ããªãã¸ã§ã¯ãã§ã®ä½æ¥ããèªã¿ãã ããã
x[f()] = g()
ã®è©ä¾¡ãå§ã¾ãã¾ãã
x[f()]
ããããã£ã¢ã¯ã»ã¹ã®è©ä¾¡ãå§ã¾ãã¾ãã
x
ã¯ã x
ã¨ããååã®å¤æ°ã¸ã®åç
§ã¨ãã¦è©ä¾¡ããã¾ããf()
ã§ã³ã³ã½ã¼ã«ã« "F!" ã¨è¡¨ç¤ºããæ¬¡ã«æ°å¤ 2
ã¨è©ä¾¡ããã¾ããx[f()]
ããããã£ã¢ã¯ã»ã¹ã®è©ä¾¡ãçµããã¾ããã çµæã¯å¤æ°ããããã£åç
§ã§ãã x[2]
ã§ããg()
ã§ã³ã³ã½ã¼ã«ã« "G!" ã¨è¡¨ç¤ºããæ¬¡ã«æ°å¤ 3
ã¨è©ä¾¡ããã¾ãã3
ã x[2]
ã«ä»£å
¥ããã¾ãã ï¼ãã®éç¨ã¯ x
ã«ãªãã¸ã§ã¯ãã代å
¥ããã¦ããã¨ãã®ã¿æåãã¾ããï¼x[f()] = g()
ã®è©ä¾¡ãçµããã¾ããã è¿å¤ã¯ x[2]
ã®æ°ããå¤â ããã§ã¯ 3
ã§ãã x[2]
ã«ã¯ 3
ã代å
¥ãããã³ã³ã½ã¼ã«ã«ã¯ "F!" ã«ç¶ã㦠"G!" ã表示ããã¾ããä»£å ¥ãé£éãããããä»ã®å¼ã«ä»£å ¥ãå ¥ãåã«ããã¨ãæå¤ãªåä½ããããã¨ãããã¾ãããã®ãããåãæã®ä¸ã§ä»£å ¥ãé£éããããã¨ã¯æ¨å¥¨ããã¾ããã
ç¹ã«ã const
ãlet
ãvar
æã®ä¸ã«å¤æ°é£éãå
¥ããã¨ããã°ãã°ãã¾ãè¡ããªããªãã¾ãã代å
¥é£éã®ä¸ã§ä¸çªå¤å´/å·¦å´ã®å¤æ°ã ãã宣è¨ãããä»ã®å¤æ°ã¯ const
/let
/var
æã§ã¯å®£è¨ãããªãããã§ããä¾ãã°ã
ãã®æã¯ä¸è¦ããã¨ã夿° x
, y
, z
ã宣è¨ãã¦ããããã«è¦ãã¾ãã ããããå®éã«å®£è¨ãã¦ããã®ã¯å¤æ° z
ã ãã§ãã y
㨠x
ã¯åå¨ããªã夿°ã¸ã®ç¡å¹ãªåç
§ã§ãããï¼å³æ ¼ã¢ã¼ã ã®å ´åï¼ããã£ã¨æªããã¨ã«ã¯ã峿 ¼ã¢ã¼ãã§ãªãå ´å㯠x
㨠y
ã«å¯¾ãã¦ã°ãã¼ãã«å¤æ°ãæã«çæãã¦ãã¾ããã¨ã«ãªãã®ã§ãã
æ¯è¼æ¼ç®åã¯ãªãã©ã³ããæ¯è¼ãã¦ããã®çµæãçã§ãããã«åºã¥ãã¦è«çå¤ãè¿ãã¾ãã ãªãã©ã³ãã«ã¯æ°å¤ãæååãè«çå¤ããªãã¸ã§ã¯ãã使ç¨ã§ãã¾ãã æåå㯠Unicode ã®å¤ãç¨ããæ¨æºçãªè¾æ¸é ã«åºã¥ãã¦æ¯è¼ããã¾ãã ã»ã¨ãã©ã®å ´åã2 ã¤ã®ãªãã©ã³ããç°ãªãåãªãã° JavaScript ã¯ãã®ãªãã©ã³ããæ¯è¼ã«é©ããåã«å¤æãããã¨ãã¾ãã ããããæåã«ãããä¸è¬çã«ãªãã©ã³ãã¯æ°å¤çã«æ¯è¼ãããçµæã¨ãªãã¾ãã ãã®ã«ã¼ã«ã®å¯ä¸ã®ä¾å¤ã¯ ===
ããã³ !==
ã§ããããã¯ãå³å¯ã«ãçå¤ãå¦ãã夿ããç夿§ããã§ãã¯ããåã«ãªãã©ã³ããé©åããåã«å¤æãã¾ããã æ¬¡ã®è¡¨ã§ã¯ã以ä¸ã®ãµã³ãã«ã³ã¼ãã§å®ç¾©ããã夿°ãåæã¨ãã¦æ¯è¼æ¼ç®åã説æãã¦ããã¾ãã
const var1 = 3;
const var2 = 4;
æ¯è¼æ¼ç®å æ¼ç®å 説æ true ãè¿ãä¾ ç価 (==
) ãªãã©ã³ããçããå ´åã« true
ãè¿ãã¾ãã 3 == var1
"3" == var1
3 == '3'
ä¸ç価 (!=
) ãªãã©ã³ããçãããªãå ´åã« true
ãè¿ãã¾ãã var1 != 4
var2 != "3"
å³å¯ç価 (===
) ãªãã©ã³ããçããããã¤åãåã§ããå ´åã« true
ãè¿ãã¾ãã Object.is
ãJavsScript ã§ã®ç価ãåç
§ãã¦ãã ããã 3 === var1
å³å¯ä¸ç価 (!==
) ãªãã©ã³ããåãåã§å¤ãçãããªãããåãç°ãªãå ´åã« true
ãè¿ãã¾ãã var1 !== "3"
3 !== '3'
大ãªã (>
) å·¦ã®ãªãã©ã³ããå³ã®ãªãã©ã³ãããã大ããå ´åã« true
ãè¿ãã¾ãã var2 > var1
"12" > 2
ä»¥ä¸ (>=
) å·¦ã®ãªãã©ã³ããå³ã®ãªãã©ã³ã以ä¸ã§ããå ´åã« true
ãè¿ãã¾ãã var2 >= var1
var1 >= 3
å°ãªã (<
) å·¦ã®ãªãã©ã³ããå³ã®ãªãã©ã³ããããå°ããå ´åã« true
ãè¿ãã¾ãã var1 < var2
"2" < 12
ä»¥ä¸ (<=
) å·¦ã®ãªãã©ã³ããå³ã®ãªãã©ã³ã以ä¸ã§ããå ´åã« true
ãè¿ãã¾ãã var1 <= var2
var2 <= 5
ã¡ã¢: =>
ã¯æ¼ç®åã§ã¯ãªããã¢ãã¼é¢æ°ã表ãè¨æ³ã§ãã
ç®è¡æ¼ç®åã¯ããªãã©ã³ãã¨ãã¦æ°å¤ï¼ãªãã©ã«ã¾ãã¯å¤æ°ï¼ãã¨ãã1 ã¤ã®æ°å¤ãè¿ãã¾ãã æ¨æºçãªç®è¡æ¼ç®åã¯ãå ç® (+
)ãæ¸ç® (-
)ãä¹ç® (*
)ãé¤ç® (/
) ã§ãã ãããã®æ¼ç®åã¯ãä»ã®ã»ã¨ãã©ã®ããã°ã©ãã³ã°è¨èªã§æµ®åå°æ°ç¹æ°ãç¨ããå ´åã¨åãããã«æ©è½ãã¾ãï¼ç¹ã«ã0 ã§é¤ç®ããã㨠Infinity
ã«ãªããã¨ã«æ³¨æãã¦ãã ããï¼ãä¾ãã°ä»¥ä¸ã®ããã«ãªãã¾ãã
1 / 2; // 0.5
1 / 2 === 1.0 / 2.0; // true ã«ãªã
æ¨æºçãªç®è¡æ¼ç®å (+
, -
, *
, /
) ã«å ããããã« JavaScript ã§ã¯ã以ä¸ã®è¡¨ã§ç¤ºãç®è¡æ¼ç®åã使ç¨ã§ãã¾ãã
%
) äºé
æ¼ç®åã§ãã2 ã¤ã®ãªãã©ã³ãã§é¤ç®ããã¨ãã®ãæ´æ°ã®ä½ããè¿ãã¾ãã 12 % 5 㯠2 ãè¿ãã¾ãã ã¤ã³ã¯ãªã¡ã³ã (++
) åé
æ¼ç®åã§ãããªãã©ã³ãã« 1 ãå ãã¾ããåç½®æ¼ç®å (++x
) ã¨ãã¦ç¨ããã¨ããªãã©ã³ãã« 1 ãå ããå¾ã«ãã®å¤ãè¿ãã¾ããå¾ç½®æ¼ç®å (x++
) ã¨ãã¦ç¨ããã¨ããªãã©ã³ãã« 1 ãå ããåã«ãã®å¤ãè¿ãã¾ãã x
ã 3 ã®å ´åã++x
㯠x
ã« 4 ãè¨å®ã㦠4 ãè¿ãã¾ãã䏿¹ãx++
㯠3 ãè¿ããã㨠x
ã« 4 ãè¨å®ãã¾ãã ãã¯ãªã¡ã³ã (--
) åé
æ¼ç®åã§ãããªãã©ã³ããã 1 ãå¼ãã¾ããè¿å¤ã¯ã¤ã³ã¯ãªã¡ã³ãæ¼ç®åã®ãã®ã¨åæ§ã§ãã x
ã 3 ã®å ´åã--x
㯠x
ã« 2 ãè¨å®ã㦠2 ãè¿ãã¾ãã䏿¹ãx--
㯠3 ãè¿ããã㨠x
ã« 2 ãè¨å®ãã¾ãã åé
符å·å転 (-
) åé
æ¼ç®åã§ãããªãã©ã³ãã®ç¬¦å·ãå転ãã¦ããã®å¤ãè¿ãã¾ãã x
ã 3 ã®ã¨ãã-x
㯠-3 ãè¿ãã¾ãã åé
ãã©ã¹ (+
) åé
æ¼ç®åã§ããæ°å¤ã§ãªããªãã©ã³ãã®æ°å¤ã¸ã®å¤æã試ã¿ã¾ãã
+"3"
㯠3
ãè¿ãã¾ãã
+true
㯠1
ãè¿ãã¾ãã
**
) åºæ°é¨
ã ææ°é¨
ä¹ãããã®ãè¨ç®ãã¾ãã ããªãã¡ã åºæ°é¨^ææ°é¨
ã§ãã 2 ** 3
㯠8
ãè¿ãã¾ãã
10 ** -1
㯠0.1
ãè¿ãã¾ãã ãããæ¼ç®å
ãããæ¼ç®åã¯ããã®ãªãã©ã³ãã 10 鲿°ã 16 鲿°ã 8 鲿°ã§ã¯ãªãã 32 åã®ãããã®éå (0 㨠1) ã¨ãã¦æ±ãã¾ãã ä¾ãã°ã 10 鲿°ã® 9 ã® 2 é²è¡¨ç¾ã¯ 1001 ã§ãã ãããæ¼ç®åã¯ãã®ããã« 2 é²è¡¨ç¾ã«ããä¸ã§æ¼ç®ãè¡ãã¾ããã JavaScript ã«ããã¦æ¨æºçãªæ°å¤ãè¿ãã¾ãã
次ã®è¡¨ã¯ JavaScript ã®ãããæ¼ç®åã®æ¦è¦ã§ãã
æ¼ç®å ä½¿ç¨æ³ 説æ ãããè«çç© (AND)a & b
ãªãã©ã³ãã®å¯¾å¿ããããããã¨ãã« 1 ã§ããåãããã«ã¤ã㦠1 ãè¿ãã¾ãã ãããè«çå (OR) a | b
ãªãã©ã³ãã®å¯¾å¿ããããããã¨ãã« 0 ã§ããåãããã«ã¤ã㦠0 ãè¿ãã¾ãã ãããæä»çè«çå (XOR) a ^ b
ãªãã©ã³ãã®å¯¾å¿ããããããåãåãããã«ã¤ã㦠0 ãè¿ãã¾ãã [ãªãã©ã³ãã®å¯¾å¿ããããããç°ãªãåãããã«ã¤ã㦠1 ãè¿ãã¾ãã] ãããå¦å® (NOT) ~ a
ãªãã©ã³ãã®åããããå転ãã¾ãã å·¦ã·ãã a << b
2 é²è¡¨ç¾ã® a
ã b
ãããåã ãå·¦ã«ã·ãããã¾ããå³ãã 0 ã§è©°ãã¾ãã 符å·ç¶æå³ã·ãã a >> b
2 é²è¡¨ç¾ã® a
ã b
ãããåã ãå³ã«ã·ãããã¾ããæº¢ãããããã¯ç ´æ£ãã¾ãã ã¼ãåãå³ã·ãã a >>> b
2 é²è¡¨ç¾ã® a
ã b
ãããåã ãå³ã«ã·ãããã¾ããæº¢ãããããã¯ç ´æ£ããå·¦ãã 0 ã§è©°ãã¾ãã ãããè«çæ¼ç®å
æ¦å¿µä¸ããããè«çæ¼ç®åã¯ä»¥ä¸ã®ããã«æ©è½ãã¾ãã
ãªãã©ã³ãã®å¤ã¯ 32 ãããã®æ´æ°ã«å¤æããã0 ããã㯠1 ãããªããããåã¨ãã¦è¡¨ç¾ããã¾ãã 32 ããããè¶ ããæ°å¤ã¯ã32 ããããè¶ ããé¨åãæ¨ã¦ããã¾ãã æ¬¡ã®ä¾ã§ã¯ã32 ããããè¶ ããæ´æ°ãã32 ãããã®æ´æ°ã«å¤æããã¦ãã¾ãã
夿å: 1110 0110 1111 1010 0000 0000 0000 0110 0000 0000 0001 夿å¾: 1010 0000 0000 0000 0110 0000 0000 0001
第 1 ãªãã©ã³ãã®åãããã¯ç¬¬ 2 ãªãã©ã³ãã®å¯¾å¿ããåãããã¨å¯¾ã«ãªãã¾ãã第 1 ãããã¨ç¬¬ 1 ãããã第 2 ãããã¨ç¬¬ 2 ãããã以ä¸åæ§ã§ãã
æ¼ç®åã¯åãããã®ãã¢ã«é©ç¨ãããçµæã¯ããããã¨ã«æ§æããã¾ãã
ä¾ãã° 9 ã® 2 é²è¡¨ç¾ã¯ 1001 ã§ã15 ã® 2 é²è¡¨ç¾ã¯ 1111 ã§ãã ãããã£ã¦ããããæ¼ç®åããããã®å¤ã«é©ç¨ãããã¨ãã®çµæã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
å¼ çµæ 2 鲿°ã§ã®èª¬æ15 & 9
9
1111 & 1001 = 1001
15 | 9
15
1111 | 1001 = 1111
15 ^ 9
6
1111 ^ 1001 = 0110
~15
-16
~ 0000 0000 ⦠0000 1111 = 1111 1111 ⦠1111 0000
~9
-10
~ 0000 0000 ⦠0000 1001 = 1111 1111 ⦠1111 0110
ãªãããããå¦å®æ¼ç®åã使ã㨠32 ããããã¹ã¦ãå転ãããã®å¤ã®æä¸ä½ï¼æãå·¦ï¼ã®ãããã¯ï¼2 ã®è£æ°è¡¨ç¾ã§ï¼è² ã®æ°ã表ã 1 ã«è¨å®ããããã¨ã«æ³¨æãã¦ãã ããã ~x
㯠-x - 1
ã¨åãå¤ã«è©ä¾¡ããã¾ãã
ãããã·ããæ¼ç®å㯠2 ã¤ã®ãªãã©ã³ããã¨ãã¾ãã第 1 ãªãã©ã³ãã¯ã·ãããããæ°ãæå®ãã第 2 ãªãã©ã³ãã¯ã第 1 ãªãã©ã³ããã·ããããããããæ°ãæå®ãã¾ãã ã·ããæ¼ç®ã®æ¹åã¯ä½¿ç¨ããæ¼ç®åã«ãã£ã¦æ±ºã¾ãã¾ãã
ã·ããæ¼ç®åã¯ãã®ãªãã©ã³ãã 32 ãããæ´æ°ã«å¤æããçµæãæ°å¤åã¾ãã¯é·æ´æ°åã®ã©ã¡ããã§è¿ãã¾ããç¹ã«ãå·¦ã®ãªãã©ã³ãã®åãé·æ´æ°åã§ãã£ãå ´åãé·æ´æ°åãè¿ãã¾ãããã以å¤ã®å ´åã¯æ°å¤åãè¿ãã¾ãã
ã·ããæ¼ç®åã®ç¨®é¡ã¯æ¬¡è¡¨ã®ã¨ããã§ãã
ãããã·ããæ¼ç®å æ¼ç®å 説æ ä¾ å·¦ã·ãã<<
) ãã®æ¼ç®åã¯ã第 1 ãªãã©ã³ããæå®ãããããæ°åã ãå·¦ã«ã·ãããã¾ããå·¦ã«æº¢ãããããã¯ç ´æ£ããã¾ãã0 ã®ããããå³ããè©°ãã¾ãã 9<<2
ã®çµæã¯ 36 ã«ãªãã¾ãã1001 ã 2 ãããå·¦ã«ã·ãããã㨠100100 ã«ãªãããã㯠36 ã¨ãªãããã§ãã 符å·ç¶æå³ã·ãã (>>
) ãã®æ¼ç®åã¯ã第 1 ãªãã©ã³ããæå®ãããããæ°åã ãå³ã«ã·ãããã¾ããå³ã«ããµãããããã¯ç ´æ£ããã¾ãã左端ã®ãããã®ã³ãã¼ãå·¦ããå
¥ãã¾ãã 9>>2
ã®çµæã¯ 2 ã«ãªãã¾ãã1001 ã 2 ãããå³ã«ã·ãããã㨠10 ã§ããããã㯠2 ã¨ãªãããã§ããåæ§ã«ã -9>>2
ã¯ç¬¦å·ãç¶æããããã -3 ã«ãªãã¾ãã ã¼ãåãå³ã·ãã (>>>
) ãã®æ¼ç®åã¯ã第 1 ãªãã©ã³ããæå®ãããããæ°åã ãå³ã«ã·ãããã¾ããå³ã«æº¢ãããããã¯ç ´æ£ããã¾ãã0 ã®ããããå·¦ããè©°ãã¾ãã 19>>>2
ã®çµæã¯ 4 ã«ãªãã¾ãã10011 ã 2 ãããå³ã«ã·ãããã㨠100 ã«ãªãããã㯠4 ã¨ãªãããã§ããéè² æ°ã§ã¯ã0 åãå³ã·ããã¨ç¬¦å·ãç¶æããå³ã·ããã¯åãçµæã«ãªãã¾ãã è«çæ¼ç®å
è«çæ¼ç®åã§ã¯ãåºæ¬çã«è«çå¤ï¼ãã¼ã«å¤ï¼ãç¨ãã¾ãããã®å ´åã¯è«çå¤ãè¿ãã¾ãã ãããã &&
ã||
ã??
ã®åæ¼ç®åã«ã¤ãã¦ã¯ãå®éã«ã¯æå®ããããªãã©ã³ãã®ä¸æ¹ã®å¤ãè¿ãã¾ãããã®ããããããã®æ¼ç®åã§è«çå¤ä»¥å¤ã使ç¨ãããå ´åãè«çå¤ä»¥å¤ãè¿ããã¨ãããã¾ãããã®ããããããã¯ãå¤é¸ææ¼ç®åãã¨èªãã æ¹ãããé©åã§ãã è«çæ¼ç®åã¯æ¬¡ã®è¡¨ã§èª¬æãã¾ãã
&&
) expr1 && expr2
expr1
ã false
ã«å¤æã§ããå ´åã¯ããããè¿ãã¾ãã ããã§ãªããã°ã expr2
ãè¿ãã¾ããå¾ã£ã¦ãè«çå¤ãç¨ããå ´åã両ãªãã©ã³ããçã§ããã° &&
㯠true
ãè¿ãã¾ãããã以å¤ã®å ´å㯠false
ãè¿ãã¾ãã è«çå (OR) (||
) expr1 || expr2
expr1
ã true
ã«å¤æã§ããå ´åã¯ããããè¿ãã¾ãã ããã§ãªããã°ã expr2
ãè¿ãã¾ããå¾ã£ã¦ãè«çå¤ãç¨ããå ´åãã©ã¡ããã®ãªãã©ã³ããçã§ããã° ||
㯠true
ãè¿ãã¾ãããã以å¤ã®å ´å㯠false
ãè¿ãã¾ãã Null å使¼ç®å (??
) expr1 ?? expr2
expr1
ã null
ã§ã undefined
ã§ããªãå ´åã¯ãããè¿ãã¾ããããã§ãªãå ´å㯠expr2
ãè¿ãã¾ãã è«çå¦å® (NOT) (!
) !expr
åä¸ã®ãªãã©ã³ãã true
ã«å¤æã§ããå ´å㯠false
ãè¿ãã¾ããããã§ãªãå ´å㯠true
ãè¿ãã¾ãã
false
ã«å¤æããã表ç¾ã®ä¾ã¨ãã¦ã¯ãnull
ã0
ã0n
ãNaN
ã空æåå (""
)ãundefined
ã«è©ä¾¡ããããã®ãæãããã¾ãã
以ä¸ã®ã³ã¼ãã§ã¯ã &&
ï¼è«çç©ï¼æ¼ç®åã®ä¾ã示ãã¾ãã
const a1 = true && true; // t && t 㯠true ãè¿ã
const a2 = true && false; // t && f 㯠false ãè¿ã
const a3 = false && true; // f && t 㯠false ãè¿ã
const a4 = false && 3 === 4; // f && f 㯠false ãè¿ã
const a5 = "Cat" && "Dog"; // t && t 㯠Dog ãè¿ã
const a6 = false && "Cat"; // f && t 㯠false ãè¿ã
const a7 = "Cat" && false; // t && f 㯠false ãè¿ã
以ä¸ã®ã³ã¼ãã§ã¯ã ||
ï¼è«çåï¼æ¼ç®åã®ä¾ã示ãã¾ãã
const o1 = true || true; // t || t 㯠true ãè¿ã
const o2 = false || true; // f || t 㯠true ãè¿ã
const o3 = true || false; // t || f 㯠true ãè¿ã
const o4 = false || 3 === 4; // f || f 㯠false ãè¿ã
const o5 = "Cat" || "Dog"; // t || t 㯠Cat ãè¿ã
const o6 = false || "Cat"; // f || t 㯠Cat ãè¿ã
const o7 = "Cat" || false; // t || f 㯠Cat ãè¿ã
以ä¸ã®ã³ã¼ãã§ã¯ã ??
ï¼NUll åä½ï¼æ¼ç®åã®ä¾ã示ãã¾ãã
const n1 = null ?? 1; // 1
const n2 = undefined ?? 2; // 2
const n3 = false ?? 3; // false
const n4 = 0 ?? 4; // 0
??
㯠||
ã¨ä¼¼ãåä½ããã¾ãããæåã®å¼ã "nullish"ãã¤ã¾ã null
ã¾ã㯠undefined
ã®å ´åã«ã 2 çªç®ã®å¼ã®ã¿ãè¿ããã¨ã«æ³¨æãã¦ãã ããã null
ã¾ã㯠undefined
ã¨ãªãå¯è½æ§ãããå¤ã®æ¢å®å¤ãè¨å®ããã«ã¯ã ||
ããã ??
ã®æ¹ãé©ãã¦ãã¾ããç¹ã«ã ''
ã 0
ã®ãããªå¤ãæå¹ãªå¤ã§ãããæ¢å®å¤ãé©ç¨ããªãå ´åã§ãã
以ä¸ã®ã³ã¼ãã§ã¯ã ! ï¼è«çå¦å®ï¼æ¼ç®åã®ä¾ã示ãã¾ãã
const n1 = !true; // !t 㯠false ãè¿ã
const n2 = !false; // !f 㯠true ãè¿ã
const n3 = !"Cat"; // !t 㯠false ãè¿ã
ç絡è©ä¾¡
è¤æ°ã®è«çå¼ãå·¦ããå³ã¸è©ä¾¡ãããéã«ã以ä¸ã®è¦åã§ãç絡ã (short-circuit) è©ä¾¡ãã§ãããã©ããã確èªããã¾ãã
å½å¤ && ä½ã
ã¯å½å¤ã¸ã¨ç絡è©ä¾¡ããã¾ããçå¤ || ä½ã
ã¯çå¤ã¸ã¨ç絡è©ä¾¡ããã¾ããé Nullish ?? ä½ã
ã¯é Nullish å¤ã¸ã¨ç絡è©ä¾¡ããã¾ããè«ççãªã«ã¼ã«ã«ããããããã®è©ä¾¡ãå¸¸ã«æ£ç¢ºã§ãããã¨ãä¿è¨¼ããã¾ããä¸è¨ã®å¼ã§ä½ã
ã®é¨åã¯è©ä¾¡ãããªããããã©ã®ããã«ãã¦ãå¯ä½ç¨ãçããªããã¨ã«æ³¨æãã¦ãã ããã
æ°å¤å士ã®éã§ä½¿ç¨ã§ããã»ã¨ãã©ã®æ¼ç®åã¯ãé·æ´æ°åã®å¤ã®éã§ãåæ§ã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
// é·æ´æ°åã®å ç®
const a = 1n + 2n; // 3n
// é·æ´æ°åã®é¤ç®ã¯ 0 ã«ä¸¸ãããã¾ãã
const b = 1n / 2n; // 0n
// é·æ´æ°åã®ãããæ¼ç®åã¯ä¸¡å´ãåãæ¨ã¦ã¾ãã
const c = 40000000000000000n >> 2n; // 10000000000000000n
ä¸ã¤ã®ä¾å¤ã¯ç¬¦å·ãªãå³ã·ãã (>>>
)ã§ãããé·æ´æ°å¤ã§ã¯å®ç¾©ããã¦ãã¾ãããããã¯ãé·æ´æ°åã¯åºå®ãããå¹
ãæããªããããæè¡çã«ãæä¸ä½ãããããæããªãããã§ãã
const d = 8n >>> 2n; // TypeError: BigInts have no unsigned right shift, use >> instead
é·æ´æ°åã¨æ°å¤åã¯äºãã«ç½®ãæãä¸å¯è½ã§ããè¨ç®ã§æ··å¨ããããã¨ã¯ã§ãã¾ããã
const a = 1n + 2; // TypeError: Cannot mix BigInt and other types
ããã¯ãé·æ´æ°åãæ°å¤åã®ãµãã»ããã§ãã¹ã¼ãã¼ã»ããã§ããªãããã§ããé·æ´æ°åã¯å¤§ããªæ´æ°ã表ããã¨ãã«ã¯ãæ°å¤ãããé«ã精度ãæã¡ã¾ãããå°æ°ã表ãããã¨ã¯ã§ããªãã®ã§ãã©ã¡ãã䏿¹ã«æé»ã®ãã¡ã«å¤æããã¨ç²¾åº¦ãè½ã¡ããã¨ãããã¾ããæ¼ç®ãæ°å¤æ¼ç®ã«ãããã®ããé·æ´æ°æ¼ç®ã«ãããã®ããæç¤ºçãªå¤æã使ç¨ãã¦ãã ããã
const a = Number(1n) + 2; // 3
const b = 1n + BigInt(2); // 3n
é·æ´æ°ã¨æ°å¤ãæ¯è¼ãããã¨ã¯ã§ãã¾ãã
const a = 1n > 2; // false
const b = 3 > 2n; // true
æååæ¼ç®å
æååã«å¯¾ãã¦ä½¿ç¨ãããã¨ãã§ããæ¼ç®åã«ã¯ãæ¯è¼æ¼ç®åã«å ãã¦ã2 ã¤ã®æååãçµåããçµåæ¼ç®å (+) ãããã2 ã¤ã®ãªãã©ã³ãã®æååãçµåããæååãè¿ãã¾ãã
ä¾ãã°ã
console.log("my " + "string"); // æåå "my string" ããã°ã«è¡¨ç¤ºãããã
ç縮表è¨ãã代å
¥æ¼ç®å +=
ãæååã®çµåã«ä½¿ç¨ã§ãã¾ãã
ä¾ãã°ã
let myString = "alpha";
myString += "bet"; // "alphabet" ã¨è©ä¾¡ããã¦ãmyString ã«ãã®å¤ã代å
¥ãã¾ãã
æ¡ä»¶ï¼ä¸é
ï¼æ¼ç®å
æ¡ä»¶æ¼ç®å㯠JavaScript ã§å¯ä¸ 3 ã¤ã®ãªãã©ã³ããåãæ¼ç®åã§ããæ¡ä»¶ã«åºã¥ã㦠2 ã¤ã®å¤ã®ãã¡ã® 1 ã¤ã鏿ãã¾ããæ§æã¯ä»¥ä¸ã®éãã§ãã
condition
ãçã®å ´åãæ¼ç®å㯠val1
ã®å¤ã鏿ãã¾ããããã§ãªãå ´åãval2
ã®å¤ã鏿ãã¾ããæ¨æºçãªæ¼ç®åã使ç¨ã§ããå ´æãªãã©ãã§ãæ¡ä»¶æ¼ç®åã使ç¨ã§ãã¾ãã
ä¾ãã°ã
const status = age >= 18 ? "adult" : "minor";
ãã®æã§ã¯ãage
ã 18 以ä¸ã®å ´åã夿° status
ã« "adult" ã®å¤ã代å
¥ããã¾ããããã§ãªãå ´å status
ã«ã¯ "minor" ã代å
¥ããã¾ãã
ã«ã³ãæ¼ç®å (,
) ã¯ããªãã©ã³ãã®ä¸¡æ¹ãè©ä¾¡ããæå¾ã®ãªãã©ã³ãã®å¤ãè¿ãã¾ãããã®æ¼ç®åã¯ã主㫠for
ã«ã¼ãã®ä¸ã§ãç¹°ãè¿ãã®ãã³ã«è¤æ°ã®å¤æ°ãæ´æ°ããããã«ä½¿ç¨ããã¾ãã å¿
è¦ã§ãªãã®ã«ä»ã®å ´æã§ä½¿ç¨ããã®ã¯ãæªãã¹ã¿ã¤ã«ã¨è¦ãªããã¾ãã å¤ãã®å ´åãç¬ç«ãã 2 ã¤ã®æã代ããã«ä½¿ç¨ãããã¨ãã§ããã¾ã使ç¨ãã¹ãã§ãã
ä¾ãã°ãä¸è¾ºã 10 è¦ç´ ã® 2 次å
é
å a
ããã£ãã¨ãã¦ã以ä¸ã®ã³ã¼ãã§ã«ã³ãæ¼ç®åãç¨ã㦠2 ã¤ã®å¤æ°ãåæã«æ´æ°ãã¦ãã¾ãããã®ã³ã¼ãã§ã¯é
åã®å¯¾è§æåã®å¤ãåºåãã¾ãã
const x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const a = [x, x, x, x, x];
for (let i = 0, j = 9; i <= j; i++, j--) {
// ^
console.log(`a[${i}][${j}]= ${a[i][j]}`);
}
åé
æ¼ç®å
åé æ¼ç®ã¯ãªãã©ã³ãã 1 ã¤ã ãåãæ¼ç®ã§ãã
deletedelete
æ¼ç®åã¯ãªãã¸ã§ã¯ãããªãã¸ã§ã¯ãã®ããããã£ãé
åã®æå®ãããã¤ã³ããã¯ã¹ã®è¦ç´ ãåé¤ãã¾ãã æ§æã¯ä»¥ä¸ã®ã¨ããã§ãã
delete object.property;
delete object[propertyKey];
delete objectName[index];
ããã§ object
ã¯ãªãã¸ã§ã¯ãã®ååããproperty
ã¯æ¢åã®ããããã£ããpropertyKey
ã¯é
åã®è¦ç´ ã®ä½ç½®ãç¤ºãæ´æ°ããããã表ãã¦ãã¾ãã
delete
æ¼ç®åãæåããã¨ããªãã¸ã§ã¯ããããã®ããããã£ãåé¤ããã¾ãããã®å¾ããã®ããããã£ã«ã¢ã¯ã»ã¹ãããã¨ãã¦ããçµæã¯ undefined
ã«ãªãã¾ãã delete
æ¼ç®åã¯ãæä½ãå¯è½ãªå ´å㯠true
ãè¿ããæä½ãä¸å¯è½ãªå ´å㯠false
ãè¿ãã¾ãã
delete Math.PI; // false ãè¿ãï¼æ§æä¸å¯ã®ããããã£ã¯åé¤ã§ããªãï¼
const myObj = { h: 4 };
delete myObj.h; // true ãè¿ãï¼ã¦ã¼ã¶ã¼å®ç¾©ã®ããããã£ã¯åé¤ã§ããï¼
é
åè¦ç´ ã®åé¤
é
åã¯åãªããªãã¸ã§ã¯ãã§ãããããæè¡çã«ã¯åè¦ç´ ã delete
ãããã¨ãå¯è½ã§ãã ãããããã¯æªããæ
£ä¾ã¨ã¿ãªããã¦ããã使ç¨ããªãã§ãã ããã é
åã®è¦ç´ ãåé¤ãã¦ããé
åã® length ã¯å½±é¿ãåãããä»ã®è¦ç´ ã®æ·»åãä»ããªãããã¾ããã ãã®ãããªãã¨ãããã®ã§ããã°ãåã«è¦ç´ ã undefined
ã§ä¸æ¸ãããã»ããã¯ããã«è¯ãæ¹æ³ã§ãã å®éã«é
åãæä½ããããã«ã¯ã splice
ã®ãããªãã¾ãã¾ãªé
åã®ã¡ã½ããã使ç¨ãã¦ãã ããã
typeof
æ¼ç®åã¯ãæªè©ä¾¡ã®ãªãã©ã³ãã®åãæãæååãè¿ãã¾ãã ãªãã©ã³ã
ã«ã¯è¿ãããåã調ã¹ã対象ã¨ãªãæååããã¼ã¯ã¼ãããªãã¸ã§ã¯ããæå®ãã¾ãã æ¬å¼§ã¯ãã£ã¦ããªãã¦ããã¾ãã¾ããã
以ä¸ã®å¤æ°ãå®ç¾©ããã¨ãã¾ãããã
const myFun = new Function("5 + 2");
const shape = "round";
const size = 1;
const foo = ["Apple", "Mango", "Orange"];
const today = new Date();
typeof
æ¼ç®åã¯ã夿°ã®åã«å¿ãã¦ä»¥ä¸ã®å¤ãè¿ãã¾ãã
typeof myFun; // "function" ãè¿ã
typeof shape; // "string" ãè¿ã
typeof size; // "number" ãè¿ã
typeof foo; // "object" ãè¿ã
typeof today; // "object" ãè¿ã
typeof doesntExist; // "undefined" ãè¿ã
true
ã null
ã¨ãããã¼ã¯ã¼ãã«å¯¾ãã¦ãtypeof
æ¼ç®åã¯ä»¥ä¸ã®çµæãè¿ãã¾ãã
typeof true; // "boolean" ãè¿ã
typeof null; // "object" ãè¿ã
æ°å¤ãæååã«å¯¾ãã¦ã typeof
æ¼ç®åã¯ä»¥ä¸ã®çµæãè¿ãã¾ãã
typeof 62; // "number" ãè¿ã
typeof "Hello world"; // "string" ãè¿ã
ããããã£å¤ã«å¯¾ãã¦ã typeof
æ¼ç®åã¯ããããã£ãæã¤å¤ã®åãè¿ãã¾ãã
typeof document.lastModified; // "string" ãè¿ã
typeof window.length; // "number" ãè¿ã
typeof Math.LN2; // "number" ãè¿ã
ã¡ã½ããã颿°ã«å¯¾ãã¦ã typeof
æ¼ç®åã¯ä»¥ä¸ã®çµæãè¿ãã¾ãã
typeof blur; // "function" ãè¿ã
typeof eval; // "function" ãè¿ã
typeof parseInt; // "function" ãè¿ã
typeof shape.split; // "function" ãè¿ã
å®ç¾©æ¸ã¿ãªãã¸ã§ã¯ãã«å¯¾ãã¦ã typeof
æ¼ç®åã¯ä»¥ä¸ã®çµæãè¿ãã¾ãã
typeof Date; // "function" ãè¿ã
typeof Function; // "function" ãè¿ã
typeof Math; // "object" ãè¿ã
typeof Option; // "function" ãè¿ã
typeof String; // "function" ãè¿ã
void
void
æ¼ç®åã¯ãå¤ãè¿ããã«è©ä¾¡ããå¼ãæå®ãã¾ããå¼
ã¯è©ä¾¡ãã JavaScript ã®å¼ã¨ãªãã¾ããå¼ã®å¨ãã®æ¬å¼§ã¯ãã£ã¦ããªãã¦ããã¾ãã¾ãããã使ç¨ããæ¹ãè¦ãç®ãããã§ãã
é¢ä¿æ¼ç®åã¯ãªãã©ã³ããæ¯è¼ããæ¯è¼çµæãçãã©ããã«åºã¥ãã¦è«çå¤ãè¿ãã¾ãã
inin
æ¼ç®åã¯ãæå®ããããããã£ãæå®ã®ãªãã¸ã§ã¯ãã«ããå ´åã« true
ãè¿ãã¾ããæ§æã¯ä»¥ä¸ã®ã¨ããã§ãã
ããããã£åã¾ãã¯æ°å¤ in ãªãã¸ã§ã¯ãå
ããã§ ããããã£åã¾ãã¯æ°å¤
ã¯æååãæ°å¤ãã·ã³ãã«ã®ä½ããã§ãããããã£åã¾ãã¯é
åã®æ·»åã表ãã¾ãããªãã¸ã§ã¯ãå
ã¯ãªãã¸ã§ã¯ãã®ååããããã表ãã¾ãã
次ã®ä¾ã§ in
æ¼ç®åã®ä½¿ç¨æ³ã示ãã¾ãã
// é
å
const trees = ["redwood", "bay", "cedar", "oak", "maple"];
0 in trees; // true ãè¿ã
3 in trees; // true ãè¿ã
6 in trees; // false ãè¿ã
"bay" in trees; // false ãè¿ã
// ï¼ã¤ã³ããã¯ã¹ã®æãå¤ã§ã¯ãªããã¤ã³ããã¯ã¹ã®æ°åãæå®ããªããã°ãªããªãï¼
"length" in trees; // true ãè¿ãï¼length 㯠Array ã®ããããã£ï¼
// å®ç¾©æ¸ã¿ãªãã¸ã§ã¯ã
"PI" in Math; // true ãè¿ã
const myString = new String("coral");
"length" in myString; // true ãè¿ã
// ã¦ã¼ã¶ã¼å®ç¾©ãªãã¸ã§ã¯ã
const myCar = { make: "Honda", model: "Accord", year: 1998 };
"make" in myCar; // true ãè¿ã
"model" in myCar; // true ãè¿ã
instanceof
instanceof
æ¼ç®åã¯ãæå®ããããªãã¸ã§ã¯ããæå®ããããªãã¸ã§ã¯ãã®ç¨®é¡ã§ããå ´åã« true
ãè¿ãã¾ããæ§æã¯ä»¥ä¸ã®ã¨ããã§ãã
ãªãã¸ã§ã¯ã instanceof ãªãã¸ã§ã¯ãå
ããã§ãªãã¸ã§ã¯ã
ã¯ãªãã¸ã§ã¯ãå
ã¨æ¯è¼ãããªãã¸ã§ã¯ãã§ããããªãã¸ã§ã¯ãå
ã¯åã表ãã³ã³ã¹ãã©ã¯ã¿ã¼ãä¾ãã° Date
ã Array
ã§ãã
å®è¡æã«ãªãã¸ã§ã¯ãã®åã確èªããå¿
è¦ãããã¨ã㯠instanceof
ã使ç¨ãã¦ãã ããã ä¾ãã°ä¾å¤ãåãåãã¨ããçºçããä¾å¤ã®åã«å¿ãã¦ãå¥ã
ã®ä¾å¤ãæ±ãã³ã¼ãã«åå²ãããã¨ãã§ãã¾ãã
ä¾ãã°æ¬¡ã®ã³ã¼ãã§ã¯ã instanceof
ã使ç¨ã㦠theDay
ã Date
ãªãã¸ã§ã¯ãã§ãããã夿ãã¦ãã¾ãã theDay
㯠Date
ãªãã¸ã§ã¯ãã§ãããããif
æä¸ã®æãå®è¡ããã¾ãã
const theDay = new Date(1995, 12, 17);
if (theDay instanceof Date) {
// å®è¡ããæ
}
åºæ¬çãªå¼
ãã¹ã¦ã®æ¼ç®åã¯ãæçµçã« 1 ã¤ä»¥ä¸ã®åºæ¬çãªå¼ãæ¼ç®ãã¾ãããããã®åºæ¬çãªå¼ã«ã¯èå¥åã¨ãªãã©ã«ãå«ã¾ãã¾ãããä»ã«ãããã¤ãã®ç¨®é¡ãããã¾ãã以ä¸ã§ããããç°¡åã«ç´¹ä»ãããããã®æå³ã¥ãã¯ããããã®åç §ããç« ã§è©³ç´°ã«è¨è¿°ããã¦ãã¾ãã
thisthis
ãã¼ã¯ã¼ãã使ç¨ãããã¨ã§ãç¾å¨ã®ãªãã¸ã§ã¯ããåç
§ã§ãã¾ããä¸è¬çã« this
ã¯ãã¡ã½ããå
ã®å¼ã³åºããªãã¸ã§ã¯ããæãã¾ãã this
ã¯ãããã表è¨ã¾ãã¯ãã©ã±ãã表è¨ã§ä½¿ç¨ãã¾ãã
this["propertyName"];
this.propertyName;
validate
ã¨ãã颿°ãããããªãã¸ã§ã¯ãã¨ä¸éã¨ä¸éã®å¤ã渡ããã¨ã§ãªãã¸ã§ã¯ãã® value
ããããã£ãæ¤è¨¼ãããã®ã§ããã¨ãã¾ãããã
function validate(obj, lowVal, highVal) {
if (obj.value < lowVal || obj.value > highVal) {
console.log("Invalid Value!");
}
}
次ã®ä¾ã®ããã«ãåãã©ã¼ã è¦ç´ ã® onChange
ã¤ãã³ããã³ãã©ã¼ã«ãã㦠validate
ãå¼ã³åºãããã®é¢æ°ã«ãã©ã¼ã è¦ç´ ãæ¸¡ãã®ã« this
ã使ããã¨ãã§ãã¾ãã
<p>Enter a number between 18 and 99:</p>
<input type="text" name="age" size="3" onChange="validate(this, 18, 99);" />
ã°ã«ã¼ãåæ¼ç®å
ã°ã«ã¼ãåæ¼ç®å ( )
ã¯å¼å
ã§ã®è©ä¾¡ã®åªå
é ä½ãå¶å¾¡ãã¾ããä¾ãã°ãå ç®ãæåã«è©ä¾¡ããããããæåã«è¡ãããæ¼ç®ãä¹ç®ã¨é¤ç®ããå ç®ã¨æ¸ç®ã¸ã¨ä¸æ¸ããããã¨ãã§ãã¾ãã
const a = 1;
const b = 2;
const c = 3;
// æ¢å®ã®åªå
é ä½
a + b * c // 7
// æ¢å®ã§ã¯ãã®ããã«è©ä¾¡ããã
a + (b * c) // 7
// åªå
é ä½ã䏿¸ããã
// ä¹ç®ã®åã«å ç®ãè¡ã
(a + b) * c // 9
// ãã®å¼ã¨åçã¨ãªã
a * c + b * c // 9
ããããã£ã¢ã¯ã»ãµã¼
ããããã£ã¢ã¯ã»ãµã¼æ§æã¯ããããè¨æ³ã¾ãã¯ãã©ã±ããè¨æ³ãããããã使ç¨ãã¦ããªãã¸ã§ã¯ãä¸ã®ããããã£å¤ãåå¾ãã¾ãã
object.property;
object["property"];
ãªãã¸ã§ã¯ãã§ã®ä½æ¥ã¬ã¤ãã§ã¯ããªãã¸ã§ã¯ãããããã£ã«ã¤ãã¦ãã£ã¨è©³ç´°ã示ãã¦ãã¾ãã
ãªãã·ã§ãã«ãã§ã¼ã³ãªãã·ã§ãã«ãã§ã¼ã³æ§æ (?.
) ã¯ããªãã¸ã§ã¯ããå®ç¾©ããã null
ã§ãªãå ´åã«ãªãã¸ã§ã¯ãã«å¯¾ãã¦ãã§ã¼ã³æä½ãå®è¡ãããã以å¤ã®å ´åã«ã¯æä½ãç絡ã㦠undefined
ãè¿ãã¾ãã ããã«ãããnull
ã¾ã㯠undefined
ã®å¯è½æ§ãããå¤ã«å¯¾ãã¦æä½ãè¡ãéã« TypeError
ãçºçããããã¨ãªãæä½ãè¡ããã¨ãã§ãã¾ãã
maybeObject?.property;
maybeObject?.[property];
maybeFunction?.();
new
new
æ¼ç®åã使ç¨ããã¨ãããããã®ã¦ã¼ã¶ã¼å®ç¾©ãªãã¸ã§ã¯ãåãçµã¿è¾¼ã¿ãªãã¸ã§ã¯ãåã®ã¤ã³ã¹ã¿ã³ã¹ãçæãããã¨ãã§ãã¾ãã new
ã®ä½¿ç¨æ³ã¯ä»¥ä¸ã®ã¨ããã§ãã
const ãªãã¸ã§ã¯ãå = new ãªãã¸ã§ã¯ãå(弿°1, 弿°2, /* â¦, */ 弿°N);
super
super
ãã¼ã¯ã¼ãã¯èªåã®è¦ªã®ãªãã¸ã§ã¯ãã«é¢æ°ãå¼ã³åºãã®ã«ä½¿ãã¾ãã ããã¯ä¸ã®ä¾ã®ããã«ãã¯ã©ã¹ã¨å
±ã«ä½¿ã£ã¦è¦ªã®ã³ã³ã¹ãã©ã¯ã¿ã¼ãå¼ã³åºãã®ã«ä¾¿å©ã§ãã
super(弿°); // 親ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ãå¼ã³åºãã
super.親ã®é¢æ°(弿°);
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