ハンズオンJavascript Chrome DevToolsの使い方

#はじめに

プログラミング学習進めてきて、いくらか自分の中で「この技術を極める」というのが決まってきたので、ネットだけでなく本格的に参考書も使用して勉強していこうかなと思います。（とはいえ、まだまだ未熟です）

これから極めていく技術としては、以下の通り。

【メイン】

* JavaScript(React含む)
* Node
* PHP（Laravel含む）

【次点】

* CSS


今回はJavascriptの学習用に購入したO'REILLYの**ハンズオンJavaScript**の第一章の内容を簡単にまとめたいと思います。

[ハンズオンJavaScript](https://www.amazon.co.jp/%E3%83%8F%E3%83%B3%E3%82%BA%E3%82%AA%E3%83%B3JavaScript-%E3%81%82%E3%82%93%E3%81%A9%E3%81%86%E3%82%84%E3%81%99%E3%81%97/dp/4873119227)


#Chrome DevToolsの使い方
まずこの書籍では、JavaScriptがどんな特徴をもった言語か〜っていうのを触れています（ここは省略）。

その後に、実際にJavaScriptを使用するに当たって、ブラウザ（chrome devtools）の使い方を学んでいこうよっていう流れになっています。

ハンズオンを前提としているため、この時点で**読むだけ**で学ぼうとしている人にはきついと思います。この本を読むのであればPCを開きましょう。

と、少し話がずれましたが、まずはDevToolsの開き方から始まります(Chromeが使える前提)。

>Windows: Ctrl-Shift-I
>Mac: Command-Option-I
>またはChrome右上端の点三つを押下>その他のツール>デベロッパーツール

![スクリーンショット 2021-04-18 16.45.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/97fd99d4-f91c-60e6-5246-9b1eab761057.png)


そうすると、以下のようにデベロッパーツール（赤枠）が見えてきます。
（ページ自体は書籍内で用意されているものです。）

![スクリーンショット 2021-04-18 20.49.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/7e0034e2-045c-4f05-fdb8-4f68e7051a5d.png)

お馴染みだとは思いますが、ここではこのページの裏側の情報が見えるわけですね。
画像内ではElementsからHTMLを参照しております。cellがえげつないですねぇ。

![スクリーンショット 2021-04-18 20.53.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/55be9209-e03b-2b81-eb62-48e2f4f44845.png)

HTMLだけでなく、実際のソースコードも見れるので、見てみましょう。（一応jsのお勉強なので、jsのコードを見てみましょう）

![スクリーンショット 2021-04-18 20.56.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/b2a8b3dc-2b75-254d-54a9-dcc2f0266a8a.png)


クラス定義されていて、何やら関数もたくさんありそうですね（具体的なコードの内容はここでは触れません）

とりあえず、HTMLのあのcell操作をここでしてるそうなので、ブレイクポイントでこのゼルダの記号みたいなのを改造しちゃいましょう。

一旦ブレイクポイントをindexの77行目に置いてみて

![スクリーンショット 2021-04-18 21.00.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/705f573f-dd61-44a8-61b1-c347aba71ffc.png)

Webサイトをリロード！

![スクリーンショット 2021-04-18 21.02.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/0840fd08-9d64-2480-b3c3-bbde3c4ac2a3.png)

止まりましたね。赤枠ないの右向いてる青い三角形を一回押してみましょう。

![スクリーンショット 2021-04-18 21.04.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/3dba496e-b2fd-e8c3-2b02-68c3c574bc4a.png)


セルの一行目が出てきました笑

consoleでiを打ってみたら、1が出てきたので、裏で繰り返し構文が回っているのがわかりますね笑
せっかくなので、consoleでわざと値を書き換えてみましょうか笑

![スクリーンショット 2021-04-18 21.05.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/d78139d9-7a00-9543-2136-0386bba66012.png)


ca1.statesと打ったところ、
>"00000000000000000001010000000000000000000"

![スクリーンショット 2021-04-18 21.08.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/73ed4db9-dc28-9dc8-58b2-a7b28ccb73ca.png)


という情報を返してきたので、ca1.statesを全部1にしてみます。

![スクリーンショット 2021-04-18 21.10.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/201169fe-9c5a-b670-5145-6fe890bc05d1.png)

さぁどうなるでしょうか笑

![スクリーンショット 2021-04-18 21.11.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1016081/21b080d9-02b8-1adc-b2d0-25b35db0dac0.png)


見事にゼルダが崩れました笑

こんな感じでChrome DevToolsで値の書き換えもできるんですね（実際にコードが変わるわけではないのでご安心を）

今回は書籍を通じた簡単な例でしたが、ブラウザ上のツールを使用することで開発の理解などが進むのではないかなぁと思いますので、積極的にDevTools使用していきましょうか！