よãã‚ã‚‹ JavaScript ã®å•題ã®è§£æ±º
JavaScript ã®ã‚³ãƒ¼ãƒ‰ãŒæ£ã—ã動作ã—ãªã„ã®ã§ä¿®æ£ã—ãŸã„ã€ã¨ã„ã†ã‚ˆã†ãªå ´åˆã«ã¿ã‚‰ã‚Œã‚‹ã€ã‚ˆãã‚ã‚‹å•題ã®è§£æ±ºæ–¹æ³•ã¸ã®ãƒªãƒ³ã‚¯ã‚’以下ã«ç¤ºã—ã¾ã™ã€‚
åˆå¿ƒè€…ã«ã‚ˆãã‚る誤り
>スペルã€å¤§æ–‡å—å°æ–‡å—を訂æ£ã™ã‚‹
ã‚³ãƒ¼ãƒ‰ãŒæ£ã—ãå‹•ã‹ãªã„å ´åˆã‚„ã€ä½•ã‹ãŒæœªå®šç¾©ã§ã‚ã‚‹ã¨ãƒ–ラウザーãŒã‚¨ãƒ©ãƒ¼ã‚’出ã—ãŸå ´åˆã€å¤‰æ•°åや関数åã®ã‚¹ãƒšãƒ«ãŒæ£ã—ã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。
é–“é•ã„ã‚„ã™ã„ブラウザーã®çµ„ã¿è¾¼ã¿é–¢æ•°ã®ä¾‹ã§ã™ã€‚
| æ£ | 誤 |
|---|---|
getElementsByTagName() |
getElementByTagName() |
getElementsByName() |
getElementByName() |
getElementsByClassName() |
getElementByClassName() |
getElementById() |
getElementsById() |
セミコãƒãƒ³ã®ä½ç½®
セミコãƒãƒ³ã®ä½ç½®ã«èª¤ã‚ŠãŒãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。例を挙ã’ã¾ã™ã€‚
| æ£ | 誤 |
|---|---|
elem.style.color = 'red'; |
elem.style.color = 'red;' |
関数
関数ã«ã¤ã„ã¦ã®èª¤ã‚Šã¯ä½•点ã‹ã‚りã¾ã™ã€‚
よãã‚る誤りã®ä¸€ã¤ã¨ã—ã¦ã€é–¢æ•°ã‚’定義ã—ãŸãŒã©ã“ã‹ã‚‰ã‚‚呼ã³å‡ºã—ã¦ã„ãªã„ã€ã¨ã„ã†ã‚‚ã®ãŒã‚りã¾ã™ã€‚例を挙ã’ã¾ã™ã€‚
function myFunction() {
alert("This is my function.");
}
上記ã®ã‚³ãƒ¼ãƒ‰ã§å®šç¾©ã—ãŸé–¢æ•°ã¯ã€ä¾‹ãˆã°ä»¥ä¸‹ã®ã‚ˆã†ã«å‘¼ã³å‡ºã•ãªã„ã‹ãŽã‚Šä½•ã‚‚ã—ã¾ã›ã‚“。
myFunction();
関数ã®ã‚¹ã‚³ãƒ¼ãƒ—
関数ã¯é–¢æ•°è‡ªèº«ã®ã‚¹ã‚³ãƒ¼ãƒ—ã‚’æŒã¡ã¾ã™ã€‚変数をグãƒãƒ¼ãƒãƒ«ã«ï¼ˆé–¢æ•°ã®å¤–ã§ï¼‰å®šç¾©ã™ã‚‹ã‹ã€è¿”値ã¨ã—ã¦å¤‰æ•°ã®å€¤ã‚’関数ã®å¤–ã«è¿”ã•ãªã„ã‹ãŽã‚Šã€é–¢æ•°ã®å¤–ã‹ã‚‰é–¢æ•°ã®ä¸ã§å®šç¾©ã•れãŸå¤‰æ•°ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
return æ–‡ã®å¾Œã‚ã®ã‚³ãƒ¼ãƒ‰ã®å®Ÿè¡Œ
return æ–‡ã§é–¢æ•°ã‹ã‚‰å€¤ã‚’è¿”ã—ãŸã¨ã〠JavaScript ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リターã¯ãã®é–¢æ•°ã‚’終了ã—ã¾ã™ã€‚ return æ–‡ã®å¾Œã‚ã®ã‚³ãƒ¼ãƒ‰ã¯å®Ÿè¡Œã•れã¾ã›ã‚“。
Firefox ãªã©ã®ã„ãã¤ã‹ã®ãƒ–ラウザーã¯ã€ return æ–‡ã®å¾Œã‚ã«ã‚³ãƒ¼ãƒ‰ãŒå˜åœ¨ã™ã‚‹å ´åˆã€é–‹ç™ºè€…ツールã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã—ã¾ã™ã€‚ Firefox ãŒå‡ºåŠ›ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ "unreachable code after return statement" ã§ã™ã€‚
オブジェクトリテラル記法 vs 通常ã®ä»£å…¥
JavaScript ã§æ™®é€šã«ä½•ã‹ã‚’代入ã™ã‚‹ã¨ãã¯ã€å˜ä¸€ã®ç‰å·ã‚’使用ã—ã¾ã™ã€‚
const myNumber = 0;
ãŸã ã—ã€ã‚ªãƒ–ジェクト ã§ã¯ã€æ£ã—ã„æ§‹æ–‡ã‚’使用ã™ã‚‹ã‚ˆã†ã«æ³¨æ„ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚オブジェクトã¯ä¸æ‹¬å¼§ã§å›²ã¿ã€ãƒ¡ãƒ³ãƒãƒ¼åã¨ãã®å€¤ã¯ã‚³ãƒãƒ³ã§åŒºåˆ‡ã‚Šã€ãƒ¡ãƒ³ãƒãƒ¼ã¯ã‚«ãƒ³ãƒžã§ä½¿ç”¨ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。例ãˆã°ã€æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
const myObject = {
name: "Chris",
age: 38,
};
基本的ãªå®šç¾©
åˆç´šã®ãƒ¦ãƒ¼ã‚¹ã‚±ãƒ¼ã‚¹
>全般
変数
æ•°å¦
- Web é–‹ç™ºã§æ‰±ã‚ãªã‘れã°ãªã‚‰ãªã„数値型ã¨ã¯
- JavaScript ã§ã®åŸºæœ¬çš„ãªç®—è¡“æ¼”ç®—ã®æ–¹æ³•ã¨ã¯
- JavaScript ã§ã®æ¼”ç®—åã®å„ªå…ˆé †ä½ã¨ã¯
- JavaScript ã§å€¤ã‚’インクリメントã€ãƒ‡ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã™ã‚‹ã«ã¯
- JavaScript ã§å€¤ã‚’比較ã™ã‚‹ã«ã¯(ã©ã¡ã‚‰ãŒå¤§ãã„ã‹ã€ã‚る値ãŒåˆ¥ã®å€¤ã¨ç‰ã—ã„ã‹ã€ãªã©)
æ–‡å—列
- JavaScript ã§æ–‡å—列を作æˆã™ã‚‹ã«ã¯
- å˜ä¸€å¼•用符ã¨äºŒé‡å¼•用符ã®ã©ã¡ã‚‰ã‚’使ã†ã¹ãã‹
- æ–‡å—列をエスケープã™ã‚‹ã«ã¯
- æ–‡å—列を連çµã™ã‚‹ã«ã¯
- æ–‡å—åˆ—ã¨æ•°å€¤ã‚’連çµã§ãã‚‹ã‹ã©ã†ã‹
- æ–‡å—列ã®é•·ã•を調ã¹ã‚‹ã«ã¯
- æ–‡å—列内ã®ç‰¹å®šä½ç½®ã®æ–‡å—を調ã¹ã‚‹ã«ã¯
- æ–‡å—列ã‹ã‚‰éƒ¨åˆ†æ–‡å—列を抽出ã™ã‚‹ã«ã¯
- æ–‡å—列ã®å¤§æ–‡å—ãƒ»å°æ–‡å—を切り替ãˆã‚‹ã«ã¯
- æ–‡å—列内ã®ä¸€éƒ¨ã®æ–‡å—åˆ—ã‚’åˆ¥ã®æ–‡å—列ã«ç½®ãæ›ãˆã‚‹ã«ã¯
é…列
- é…列を作æˆã™ã‚‹ã«ã¯
- é…列内ã®è¦ç´ ã‚’å–å¾—ã—ãŸã‚Šå¤‰æ›´ã—ãŸã‚Šã™ã‚‹ã«ã¯ï¼ˆå¤šæ¬¡å…ƒé…列ã®å ´åˆã«ã¤ã„ã¦ã‚‚å«ã‚€ï¼‰
- é…列ã®é•·ã•を調ã¹ã‚‹ã«ã¯
- é…列ã«è¦ç´ ã‚’è¿½åŠ ã™ã‚‹ã«ã¯
- é…列ã‹ã‚‰è¦ç´ を削除ã™ã‚‹ã«ã¯
- æ–‡å—列を分割ã—ã¦é…列ã«ã™ã‚‹ã«ã¯ã€ã‚‚ã—ãã¯é…列を連çµã—ã¦ä¸€ã¤ã®æ–‡å—列ã«ã™ã‚‹ã«ã¯
JavaScript ã®ãƒ‡ãƒãƒƒã‚°
- 基本的ãªã‚¨ãƒ©ãƒ¼ã®ç¨®é¡žã¨ã¯
- ブラウザー開発者ツールã¨ã¯ä½•ã‹ã€ã©ã®ã‚ˆã†ã«é–‹ãã®ã‹
- JavaScript コンソールã«å€¤ã‚’出力ã™ã‚‹ã«ã¯
- ブレイクãƒã‚¤ãƒ³ãƒˆç‰ã® JavaScript ã®ãƒ‡ãƒãƒƒã‚°æ©Ÿèƒ½ã‚’使ã†ã«ã¯
JavaScript ã®ãƒ‡ãƒãƒƒã‚°ã«é–¢ã™ã‚‹è©³ç´°ã«ã¤ã„ã¦ã¯ã€JavaScript ã®ã‚ˆãã‚ã‚‹å•題を扱ã†ã‚’å‚ç…§ã—ã¦ãã ã•ã„。よãã‚るエラーã®èª¬æ˜Žã«ã¤ã„ã¦ã¯ãã®ä»–ã®ã‚ˆãã‚るエラーをå‚ç…§ã—ã¦ãã ã•ã„。
コード内ã§ã®æ±ºå®š
- 変数ã®å€¤ã‚„ãã®ä»–ã®æ¡ä»¶ã«ã‚ˆã£ã¦ç•°ãªã‚‹ã‚³ãƒ¼ãƒ‰ãƒ–ãƒãƒƒã‚¯ã®ã†ã¡ã©ã‚Œã‚’実行ã™ã‚‹ã‹æ±ºå®šã™ã‚‹ã«ã¯
- if...else 文を使用ã™ã‚‹ã«ã¯
- æ¡ä»¶åˆ¤å®šã®ãƒ–ãƒãƒƒã‚¯ã‚’別ã®ãƒ–ãƒãƒƒã‚¯ã«å…¥ã‚Œåã«ã™ã‚‹ã«ã¯
- AND ã‚„ ORã€NOT ã‚’ JavaScript ã§ä½¿ç”¨ã™ã‚‹ã«ã¯
- 多ãã®é¸æŠžè‚¢ã‚’一ã¤ã®æ¡ä»¶ã¨ã—ã¦æ‰‹è»½ã«æ‰±ã†ã«ã¯
- true/false ã®åˆ¤å®šã«ã‚ˆã£ã¦ 2 ã¤ã®é¸æŠžè‚¢ã‹ã‚‰ 1 ã¤ã‚’手早ãé¸æŠžã™ã‚‹ã®ã«ã€ä¸‰é …演算åを使用ã™ã‚‹ã«ã¯
ループ/å復処ç†
ä¸ç´šã®ãƒ¦ãƒ¼ã‚¹ã‚±ãƒ¼ã‚¹
>関数
オブジェクト
- オブジェクトを作æˆã™ã‚‹ã«ã¯
- ドット記法ã¨ã¯
- 角括弧を用ã„ãŸè¨˜æ³•ã¨ã¯
- オブジェクトã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚„プãƒãƒ‘ティをå–å¾—ã€è¨å®šã™ã‚‹ã«ã¯
- オブジェクトã®ã‚³ãƒ³ãƒ†ã‚ストã«ãŠã‘ã‚‹
thisã¨ã¯ä½•ã‹ - オブジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã¨ã¯
- コンストラクターやインスタンスã¨ã¯ä½•ã‹ã€ãれらをã©ã®ã‚ˆã†ã«ä½œæˆã™ã‚‹ã‹
- JavaScript ã§ã‚ªãƒ–ジェクトを作æˆã™ã‚‹æ–¹æ³•ã«ã¯ã©ã®ã‚ˆã†ãªã‚‚ã®ãŒã‚ã‚‹ã‹
JSON
イベント
- イベントãƒãƒ³ãƒ‰ãƒ©ãƒ¼ã¨ã¯ä½•ã‹ã€ã©ã®ã‚ˆã†ã«ä½¿ã†ã®ã‹
- インラインイベントãƒãƒ³ãƒ‰ãƒ©ãƒ¼ã¨ã¯
addEventListener()関数ã¯ä½•ã‚’ã™ã‚‹ã‚‚ã®ã‹ã€ã©ã®ã‚ˆã†ã«ä½¿ã†ã®ã‹- 自分ã®ãƒšãƒ¼ã‚¸ã«ã‚¤ãƒ™ãƒ³ãƒˆã®ã‚³ãƒ¼ãƒ‰ã‚’è¿½åŠ ã™ã‚‹ã®ã«ã€ã©ã®æ–¹æ³•を使用ã™ã¹ãã‹
- イベントオブジェクトã¨ã¯ä½•ã‹ã€ã©ã®ã‚ˆã†ã«ä½¿ã†ã®ã‹
- 既定ã®ã‚¤ãƒ™ãƒ³ãƒˆã®æŒ™å‹•を抑制ã™ã‚‹ã«ã¯
- ãƒã‚¹ãƒˆã•れãŸè¦ç´ ã§ã©ã®ã‚ˆã†ã«ã‚¤ãƒ™ãƒ³ãƒˆãŒç™ºç”Ÿã™ã‚‹ã‹ï¼ˆã‚¤ãƒ™ãƒ³ãƒˆã®ä¼æ’ã€é–¢é€£ã—ã¦ã€ã‚ャプãƒãƒ£ã€ãƒãƒ–リング)
- イベントã®å§”ä»»ã¨ã¯ä½•ã‹ã€ã©ã®ã‚ˆã†ã«å‹•作ã™ã‚‹ã‹
ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘ JavaScript
- オブジェクトã®ãƒ—ãƒãƒˆã‚¿ã‚¤ãƒ—ã¨ã¯ä½•ã‹
- コンストラクタープãƒãƒ‘ティã¨ã¯ä½•ã‹ã€ã©ã®ã‚ˆã†ã«ä½¿ç”¨ã™ã‚‹ã‹
- ã©ã®ã‚ˆã†ã«ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ¼ã«ãƒ¡ã‚½ãƒƒãƒ‰ã‚’è¿½åŠ ã™ã‚‹ã‹
- 継承元ã‹ã‚‰ãƒ¡ãƒ³ãƒãƒ¼ã‚’引ãç¶™ã„ã§æ–°ã—ã„コンストラクターを作æˆã™ã‚‹ã«ã¯
- JavaScript ã§ç¶™æ‰¿ã‚’使用ã™ã¹ãã¨ãã¯ã„ã¤ã‹