ã»ã¨ãã©ã®å ´åãJavaScript ã¢ããªã±ã¼ã·ã§ã³ã¯æ å ±ãå¦çããå¿ è¦ãããã¾ããããã«2ã¤ã®ä¾ãããã¾ãã
- ãªã³ã©ã¤ã³ã·ã§ãã â æ å ±ã¯ â売ããã¦ããååâ ã âã·ã§ããã³ã°ã«ã¼ãâ ãªã©ãèãããã¾ãã
- ãã£ããã¢ããªã±ã¼ã·ã§ã³ â æ å ±ã¯ âã¦ã¼ã¶âãâã¡ãã»ã¼ã¸â ããã®ä»ããå¤ãã®ãã®ãèãããã¾ãã
夿°ã¯æ å ±ãä¿æããããã«ä½¿ããã¾ãã
夿°
夿° ã¯ãã¼ã¿ã®ããã® âååä»ããããæ ¼ç´å ´æâ ã§ããç§ãã¡ã¯ååã訪åè ããã®ä»ã®ãã¼ã¿ãæ ¼ç´ããããã«å¤æ°ãå©ç¨ã§ãã¾ãã
JavaScriptã§å¤æ°ãä½ãã«ã¯ãlet ãã¼ã¯ã¼ãã使ãã¾ãã
ä¸ã®æã¯ âmessageâ ã¨ããååã®å¤æ°ãä½ãã¾ã(å¥ã®è¨ãæ¹: å®£è¨ ã¾ã㯠å®ç¾© ):
let message;
代å
¥æ¼ç®å = ã使ã£ã¦ããã¼ã¿ãç½®ãäºãã§ãã¾ãã
let message;
message = 'Hello'; // æååãæ ¼ç´ãã¾ã
ä»ãæååã¯å¤æ°ã«é¢é£ä»ããããã¡ã¢ãªé åã«ä¿åããã¦ãã¾ãã夿°åã使ã£ã¦ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã:
let message;
message = 'Hello!';
alert(message); // 夿°ã®ä¸èº«ã表示ãã¾ã
ç°¡æ½ã«ããããã«ã夿°å®£è¨ã¨ä»£å ¥ã1è¡ã§æ¸ããã¨ãã§ãã¾ãã
let message = 'Hello!'; // 夿°å®£è¨ã¨å¤ã®ä»£å
¥
alert(message); // Hello!
ã¾ãã1è¡ã§è¤æ°ã®å¤æ°ã宣è¨ãããã¨ãã§ãã¾ãã
let user = 'John', age = 25, message = 'Hello';
ããçãããã«è¦ããããããã¾ããããããã¯æ¨å¥¨ãã¾ãããå¯èªæ§ã®ããã1夿°1è¡ã«ãã¦ãã ããã
è¤æ°è¡ã®ã±ã¼ã¹ã¯ã¡ãã£ã¨é·ããªãã¾ãããèªã¿ãããã§ãã
let user = 'John';
let age = 25;
let message = 'Hello';
å¤ãã®å¤æ°ãããå ´åããã®ããã«æ¸ã人ããã¾ã:
let user = 'John',
age = 25,
message = 'Hello';
â¦ããã㯠âã«ã³ãããå§ã¾ãâ ã¹ã¿ã¤ã«:
let user = 'John'
, age = 25
, message = 'Hello';
æè¡çã«ã¯ããããã¹ã¦ã®ãã¿ã¼ã³ã¯åãã§ãããªã®ã§ãããã¯å人ã®å¥½ã¿ã¨ç¾å¦ã®åé¡ã§ãã
let ã®ä»£ããã« varå¤ãã¹ã¯ãªããã«ã¯ãå¥ã®ãã¼ã¯ã¼ããããããããã¾ãã: let ã®ä»£ããã« var ã§ã:
var message = 'Hello';
ãã¼ã¯ã¼ã var 㯠let 㨠ã»ã¨ãã© ä¸ç·ã§ããããã夿°ã宣è¨ãã¾ãããããããã«éãã¾ã, ä¼çµ±çã¹ã¿ã¤ã«ã®ããæ¹ã§ãã
let 㨠var ã«ã¯å¾®å¦ãªéããããã¾ãããã¾ã æ°ã«ããå¿
è¦ã¯ããã¾ããããã®è©³ç´°ã«ã¤ãã¦ã¯ãå¤ã "var" ã®ãã£ãã¿ã¼ã§èª¬æãã¾ãã
ç¾å®ã§ã®ä¾ã
ã¦ãã¼ã¯ãªååã®ã¹ããã«ã¼ãä»ãããã¼ã¿ã® âç®±â ã¨ãã¦æ³åããã°ãâ夿°â ã¨ããæ¦å¿µãç°¡åã«ææ¡ã§ãã¾ãã
ãã¨ãã°ã夿° message ã¯å¤ "Hello!" ãæã£ã "message" ã¨ã©ãã«ä»ããããç®±ã¨ãã¦æ³åãããã¨ãã§ãã¾ãã:
ç®±ã®ä¸ã«ã¯ã©ããªå¤ã§ãå ¥ãããã¨ãã§ãã¾ãã
ã¾ãããããå¤ãããã¨ãã§ãã¾ããå¤ã¯å¿ è¦ãªã ãä½åº¦ã§ã夿´ãããã¨ãã§ãã¾ãã
let message;
message = 'Hello!';
message = 'World!'; // å¤ã®å¤æ´
alert(message);
å¤ã夿´ãããã¨ããå¤ãå¤ã¯å¤æ°ããåé¤ããã¾ãã
ç§ãã¡ã¯2ã¤ã®å¤æ°ã宣è¨ãã¦ããã夿°ããå¥ã®å¤æ°ã«ãã¼ã¿ãã³ãã¼ãããã¨ãã§ãã¾ãã
let hello = 'Hello world!';
let message;
// hello ãã message ã« 'Hello world' ãã³ãã¼
message = hello;
// ããã§2ã¤ã®å¤æ°ã¯åããã¼ã¿ãæã¡ã¾ã
alert(hello); // Hello world!
alert(message); // Hello world!
夿°ã¯ä¸åº¦ã ã宣è¨ããå¿ è¦ãããã¾ãã
åã夿°ã®ç¹°ãæ¿ãã宣è¨ã¯ã¨ã©ã¼ã«ãªãã¾ã:
let message = "This";
// 'let' ã®ç¹°ãè¿ãã¯ã¨ã©ã¼ã«ãªãã¾ã
let message = "That"; // SyntaxError: 'message' has already been declared
ãã®ããã夿°ã¯1度ã ã宣è¨ãããã®å¾ã¯ let ãªãã§åç
§ããå¿
è¦ãããã¾ãã
夿°ã®å¤ã®å¤æ´ãç¦æ¢ãã颿°åããã°ã©ãã³ã°è¨èªã¨å¼ã°ããè¨èªãåå¨ãããã¨ãç¥ã£ã¦ããã¨è¯ãããããã¾ããã颿°åè¨èªã®ä¾ã¨ãã¦Scala ãErlangãæãããã¾ãã
ãã®ãããªè¨èªã§ã¯ãä¸åº¦"ç®±ã®ä¸"ã«æ ¼ç´ãããå¤ã¯ãæ°¸é ã«å¤åãããã¨ãããã¾ãããããä»ã®å¤ã"ç®±ã®ä¸"ã«æ ¼ç´ãããå ´åãæ°ããªç®±ãä½ããããªãã¡æ°ããªå¤æ°ã宣è¨ããå¿ è¦ãããã¾ããä¸åº¦ä½¿ã£ã夿°ãåå©ç¨ãããã¨ã¯ã§ãã¾ããã
ä¸è¦ããã¨å°ãå¥å¦ã«è¦ããããããã¾ãããããããã®è¨èªã¯æ¬æ ¼çãªéçºã«é©ãã¦ãã¾ãããã以ä¸ã«ã並åè¨ç®ã®ãããªåéã§ã¯ãã®å¶éãæ©æµããããããããã¾ãããã®ãããªè¨èªãåå¼·ãããã¨ã¯è¦éãåºããããã«æ¨å¥¨ããã¦ãã¾ã(ãã¨ãããã«ããã使ãäºå®ããªãã¦ã)ã
夿°ã®ãã¼ãã³ã°
JavaScript夿°åã¯2ã¤ã®å¶éãããã¾ã:
- ååã¯æåãæ°åãè¨å·
$ã¨_ã®ã¿ãå«ãå¿ è¦ãããã¾ãã - æåã®æåã¯æ°åã§ãã£ã¦ã¯ããã¾ããã
夿°åã®ä¾:
let userName;
let test123;
ååã«è¤æ°ã®åèªãå«ãå ´åãcamelCase ãä¸è¬çã«ä½¿ããã¾ãã ã¤ã¾ããåèªãç¶ã
ã¨ç¶ããååèªã¯å¤§æåã§å§ã¾ãã¾ã: myVeryLongName.
è峿·±ããã¨ã« â ãã« '$' ã ã¢ã³ãã¼ã¹ã³ã¢ '_' ãååã«ä½¿ããã¨ãã§ãã¾ãããããã¯åã«æåã®ããã«ç¹å¥ãªæå³ããããªãæ®éã®è¨å·ã§ãã
ãããã¯æå¹ãªååã§ã:
let $ = 1; // åå "$" ã®å¤æ°ã宣è¨
let _ = 2; // ã¾ãããã§ã¯åå "_" ã®å¤æ°ã§ã
alert($ + _); // 3
æ£ãããªã夿°åã®ä¾ã§ã:
let 1a; // æ°å¤ããéå§ã¯ã§ãã¾ãã
let my-name; // ãã¤ãã³ '-' ã¯ååã§è¨±å¯ããã¦ãã¾ãã
夿°å apple 㨠AppLE â ã¯2ã¤ã®ç°ãªã夿°ã§ãã
ããªã«æåã象çæåãå«ããã©ã®è¨èªã使ããã¨ãå¯è½ã§ãã:
let Ð¸Ð¼Ñ = '...';
let æ = '...';
æè¡çã«ã¯ãããã§ã¨ã©ã¼ã¯èµ·ããããã®ãããªååã許å¯ããã¾ããããã夿°åã§ã¯è±èªã使ãã®ãå½éçãªä¼çµ±ã§ãããã¨ãå°ããªã¹ã¯ãªãããæ¸ãã¦ããã¨ãã¦ãããã®ã³ã¼ãã¯ãã®å ãæ®ãããããã¾ãããä»ã®å½ã®äººã ããããè¦ããã¨ãããããããã¾ããã
äºç´èªã®ä¸è¦§ãããã¾ãããããã¯è¨èªèªèº«ã«ãã£ã¦ä½¿ç¨ãããããã夿°åã¨ãã¦ä½¿ç¨ãããã¨ã¯ã§ãã¾ããã
ãã¨ãã°ãåèª let, class, return, function ã¯äºç´ããã¦ãã¾ãã
ä¸ã®ã³ã¼ãã¯æ§æã¨ã©ã¼ã§ã:
let let = 5; // "let" ã¨ãã夿°åã«ã¯ã§ãã¾ãããã¨ã©ã¼ã§ã!
let return = 5; // åæ§ã« "return" ã¨ããååãã¨ã©ã¼ã§ã!
use strict ãªãã§ã®ä»£å
¥é常ã夿°ã使ãåã«å®ç¾©ããå¿
è¦ãããã¾ãããããã以å㯠let ãªãã§ãåã«å¤ã代å
¥ããã ãã§å¤æ°ã使ãããã¨ãæè¡çã«å¯è½ã§ãããuse strict ã§ãªãå ´åã«ã¯ä»ã§ãåä½ãã¾ãããã®åä½ã¯å¤ãã¹ã¯ãªããã®äºææ§ã®ããã«ç¶æããã¦ãã¾ãã
// 注æ: ãã®ä¾ã¯ "use strict" ãªãã¢ã¼ãã§ã
num = 5; // åå¨ããªãã£ãå ´åã夿° "num" ãä½ããã¾ã
alert(num); // 5
ããã¯æªãç¿æ £ã§ããstrict ã¢ã¼ãã§ã¯ã¨ã©ã¼ã«ãªãã¾ã:
"use strict";
num = 5; // ã¨ã©ã¼: num ãæªå®ç¾©ã§ã
宿°
宿°ã宣è¨ããããã«ã¯ã let ã®ä»£ããã« const ã使ãã¾ãã
const myBirthday = '18.04.1982';
const ã使ã£ã¦å®£è¨ããã夿°ã¯ â宿°â ã¨å¼ã°ãã¾ãããããã¯å¤æ´ãããã¨ãåºæ¥ã¾ããã夿´ãããã¨ããã¨ã¨ã©ã¼ã«ãªãã¾ã:
const myBirthday = '18.04.1982';
myBirthday = '01.01.2001'; // ã¨ã©ã¼, 宿°ã®å代å
¥ã¯ã§ãã¾ãã!
ããã°ã©ãããã®å¤æ°ã¯æ±ºãã¦å¤æ´ãããã¹ãã§ãªãã¨ç¢ºä¿¡ããã¨ãããããä¿è¨¼ãã¤ã¤ã¿ããªã«ãã®äºå®ãæç¤ºçã«ç¤ºãããã« const ã使ãã¾ãã
大æåã®å®æ°
å®è¡ããåã«åãã£ã¦ããããè¦ããã®ãé£ããã¨ããå¤ã«å¯¾ãã¦ã¯ãã¨ã¤ãªã¢ã¹ã¨ãã¦å®æ°ã使ãã¨ããæ £ç¿ã¯åºãè¡ããã¦ãã¾ãã
ãã®ãããªå®æ°ã¯å¤§æåã¨ã¢ã³ãã¼ã¹ã³ã¢ã使ã£ã¦ååãã¤ãããã¾ãã
ä¾ãã°ããããã âwebâ(16鲿°) å½¢å¼ã§ã®è²ã®å®æ°ãä½ãã¾ããã:
const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";
// ...è²ã使ãå¿
è¦ãããå ´åãæ¬¡ã®ããã«ãã¾ã
let color = COLOR_ORANGE;
alert(color); // #FF7F00
ã¡ãªãã:
COLOR_ORANGEã¯"#FF7F00"ãããè¦ããã®ãé¥ãã«ç°¡åã§ããCOLOR_ORANGEããã"#FF7F00"ã®ã»ããã¿ã¤ããã¹ããæãã§ãã- ã³ã¼ããèªãã¨ãã
#FF7F00ãããCOLOR_ORANGEã®ã»ããããæå³ãããã¾ãã
ãã¤å®æ°ã«å¤§æåã使ãã¹ããªã®ãããã¤é常ã®ååãã¤ããã¹ããªã®ããæããã«ãã¾ãããã
â宿°â ã§ãããã¨ã¯ããã®å¤ã¯æ±ºãã¦å¤ãããªããã¨ãæå³ãã¾ããããå®è¡ããåã«ç¥ããã¦ãã宿°(赤ã®16鲿°ã®ãããª)ã¨ãå®è¡ä¸ã«ã©ã³ã¿ã¤ã ã§ è¨ç® ããã¾ãããä»£å ¥å¾ã¯å¤æ´ãããªããã®ãããã¾ãã
ãã¨ãã°:
const pageLoadTime = /* webãã¼ã¸ã®èªã¿è¾¼ã¿æé */;
pageLoadTime ã®å¤ã¯ãã¼ã¸ãã¼ãããåã«ã¯ããããªãã®ã§ãé常ã®ååãã¤ãããã¾ããããã代å
¥å¾ã¯å¤æ´ãããªãã®ã§ããã宿°ã§ãã
ã¤ã¾ãã大æåã®ååã®å®æ°ã¯ âãã¼ãã³ã¼ããããâ å¤ã®ã¨ã¤ãªã¢ã¹ã¨ãã¦ã®ã¿ä½¿ãã¾ãã
æ£ããååãã¤ãã
夿°ã«ã¤ãã¦è©±ãã¨ãããã1ã¤æ¥µãã¦éè¦ãªäºãããã¾ãã
夿°ã¯åãããããååã«ãã¦ãã ãããå¿ è¦ã«å¿ãã¦èãã¾ãããã
夿°ã®ãã¼ãã³ã°ã¯ãããã°ã©ãã³ã°ã«ããã¦ããã£ã¨ãéè¦ã§è¤éãªã¹ãã«ã®1ã¤ã§ãã夿°åãã¡ãã£ã¨è¦ãã°ãã©ã®ã³ã¼ããåå¿è ã§æ¸ãããã©ããçµé¨è±å¯ãªéçºè ã«ãã£ã¦æ¸ããããã®ãããããã¾ãã
å®éã®ããã¸ã§ã¯ãã§ã¯ãã¹ã¯ã©ããã§å®å ¨ã«åé¢ãããä½ããæ¸ãããããæ¢åã®ã³ã¼ããã¼ã¹ã®ä¿®æ£ãæ¡å¼µã«æãæéãè²»ããã¾ããããã¦ãä½ãä»ã®ãã¨ãããå¾ã«ã³ã¼ãã«æ»ã£ãã¨ããããã©ãã«ä»ããããæ å ±ãæ¢ãã®ã¯ã¯ããã«ç°¡åã§ããããã¯è¨ãæããã¨ãé©åãªååãã¤ãã¦ãã夿°ãã§ãã
夿°ã宣è¨ããåã«æ£ããååã«ã¤ãã¦èããããã«ãã¦ãã ãããããã¯å¤ãã®ãã¨ã«å ±ããã§ãããã
ããã¤ãã®è¯ãã«ã¼ã«ã§ã:
userNameã¾ãã¯shoppingCartã®ããã«äººéãèªã¿ãããååã使ã£ã¦ãã ããã- æ¬å½ã«ä½ããã¦ãããåãã£ã¦ããå ´åãé¤ãã
a,b,cã®ãããªç¥èªãçãååã¯é¿ãã¦ãã ããã - æå¤§é説æçããã¤ç°¡æ½ãªååãä½ã£ã¦ãã ãããæªãååã®ä¾ã¨ãã¦ã¯
dataãvalueã§ãããã®ãããªååããã¯ä½ãåããã¾ãããã³ã³ããã¹ããããã¼ã¿ãå¤ãæå³ãããã¨ãä¾å¤çã«æç½ãªå ´åã®ã¿ä½¿ã£ã¦ãOKã§ãã - ããªãã®ãã¼ã ã®ä¸ã§ãã¾ãããªãèªèº«ã®å¿ã®ä¸ã§ç¨èªãçµ±ä¸ãã¦ãã ããããããããµã¤ã訪åè
ã âã¦ã¼ã¶â ã¨å¼ã°ããå ´åãé¢é£ãã夿°ã¨ãã¦
currentVisitorãnewManInTownã§ã¯ãªãcurrentUserãnewUserã®ããã«å½åããã¹ãã§ãã
ç°¡åã«èããã¾ããï¼ ç¢ºãã«ããã§ãããå®éã«ã¯è¯ã説æçã§ç°¡æ½ãªååãä½ããã¨ã¯ç°¡åã§ã¯ããã¾ãããé å¼µãã¾ãããã
ããã¦æå¾ã®ã¡ã¢ã§ããæ°ãã夿°ã宣è¨ãã代ããã«ãæ¢åã®å¤æ°ãåå©ç¨ããå¾åã®ããæ ããããã°ã©ããä¸ã«ã¯ãã¾ãã
ãã®çµæã夿°ã¯ã¹ããã«ã¼ã®å¤æ´ãªãã«ç°ãªã£ããã®ãæãå ¥ããç®±ã«ãªãã¾ããä»ä½ãå ¥ã£ã¦ããã§ããããï¼èª°ãç¥ã£ã¦ããã§ããããâ¦? ããç´°ãããã§ãã¯ãå¿ è¦ã«ãªãã¾ãã
ãã®ãããªããã°ã©ãã¯å¤æ°å®ç¾©ã§ã¯å¤å°ç¯ç´ãã¾ããããããã°ã§10å以ä¸ã®æéã失ãã¾ãã
ä½åãªå¤æ°ã¯è¯ããæªã§ã¯ãªãã§ãã
ã¢ãã³ãªJavaScript㯠minify ãããããã©ã¦ã¶ã¯ååã«ã³ã¼ããæé©åãã¾ãããªã®ã§ãããã©ã¼ãã³ã¹ã®åé¡ã«ãªããã¨ã¯ããã¾ãããç°ãªãå¤ã«å¯¾ãã¦ç°ãªã夿°ã使ããã¨ã¯ãã¨ã³ã¸ã³ã®æé©åãå©ãããã¨ãããã¾ãã
ãµããª
ãã¼ã¿ãæ ¼ç´ããããã«å¤æ°ã宣è¨ãããã¨ãã§ãã¾ãããã㯠var, let, ã¾ã㯠const ã使ããã¨ã§ã§ãã¾ãã
letâ ã¯ç¾ä»£ã®å¤æ°å®£è¨ã§ããChrome(V8)ã§ã¯ãletã使ãã«ã¯ããã®ã³ã¼ã㯠strict ã¢ã¼ãã§ããå¿ è¦ãããã¾ããvarâ ã¯ä¼çµ±çãªã¹ã¿ã¤ã«ã®å¤æ°å®£è¨ã§ããä¸è¬çã«ã¯ä½¿ãã¾ããããå¿ è¦ãªã¨ãã®ããã«ããã£ãã¿ã¼ å¤ã "var" ã§letã¨ã®å¾®å¦ãªéãã説æãã¾ããconstâãã¯letã®ããã§ããã夿°ã®å¤ã¯å¤æ´ãããã¨ãã§ãã¾ããã
夿°ã¯ãå é¨ã®ãã¨ãç°¡åã«çè§£ã§ããããã«å½åããã¹ãã§ãã
ã³ã¡ã³ã
<code>ã¿ã°ã使ã£ã¦ãã ãããè¤æ°è¡ã®å ´åã¯<pre>ãã10è¡ãè¶ ããå ´åã«ã¯ãµã³ãããã¯ã¹ã使ã£ã¦ãã ãã(plnkr, JSBin, codepenâ¦)ã