できる気になっているJSを改めてチュートリアルからやってみる 3日目

~~ トラブルシューティング ~~

最近ちょっとずつまた学びなおす必要が出てきたなぁと思い、いろいろプログラムを勉強しなおしているところなんですが、実はもう今使っている知識は古いのかもと思って、アップデートしようとおもいやってみる会。

実施するのは、この記事

MDN - Javascript

完全な初心者向けと書かれたチュートリアルは全然初心者向けではないって話。アップデートしていきましょう。

トラブルシューティング

エラーの種類は以下

文法エラー - プログラムが全く動かなかったり、途中で止まったりするエラー。
論理のエラー - 書き方は正しくても、コードが意図したとおりに動かないエラー。文法エラーより直すのムズイ。

あれ、このエラー回りはほとんど新しいことはなさそう。なので次。

必要な情報を保存する — 変数

変数を宣言する、初期化する。(言い方を思い出した)

var と let のちがいについて

歴史的な理由。基本うまく今でも動くけど、いくつかの問題があり、最新のバージョンで let が使われるようになりました。

myName = 'Chris';

function logName() {
 console.log(myName);
}

logName();

var myName;

こんなコードがあったときに、 巻き上げ のために動作します。

巻き上げとは、宣言と実行されたタイミングが逆になっていても、コードの先頭で宣言したものと等価になる。というもの。

これがletの場合だと巻き上げが行われないため動作しない。上記の例の var を let に変更すると失敗します。とてもいいね!

ふたつめが、 var を使用するときに同じ変数を何度でも宣言可能になる。

var myName = 'Chris';
var myName = 'Bob';

これがエラーにならない。ただ、let で同じように書くとエラーになります。例えば以下のように、

let myName = 'Chris';
let myName = 'Bob';

代わりだとこんな感じ

let myName = 'Chris';
myName = 'Bob';

なので、可能な限り let を使っていこうねって話。IE 11はだめ。Edgeは使えるって書いてありました。

変数の名前付けのルール

いろいロあったので原文ママ。

・上記以外の文字を使用するのはやめましょう。環境によってはエラーとなったり、他の国の人々にとって理解しがたいものとなります。

・変数名の先頭にアンダースコアは使用してはいけません。一部の JavaScript のコンストラクターにとっては特別な意味を持つため、問題となることがあります。

・変数名の先頭に数字を使用してはいけません。これは JavaScript の文法エラーとなります。

・複数の単語をつなげる場合は、"小文字始まりのキャメルケース"と呼ばれる書き方に従いましょう。最初の単語を全て小文字で書いて、その後に続く単語の最初の文字を大文字にする記法です。この記事ではこの書き方を採用しています。

・保持するデータを説明する、分かりやすい名前を付けましょう。1 つの文字・数字や、長すぎる命名はしないようにしましょう。

・変数名は大文字・小文字を区別します。myage と myAge は違うものになります。

・最後に、JavaScript の予約語 ( これは JavaScript の文法を構成する単語のことです) を変数名には付けないようにしましょう。var、function、let、for 等を変数名として使用することは出来ません。ブラウザーはそれを異なるように解釈し、結果としてエラーとなるでしょう。

変数のデータ型

・数値型
・文字列型
・真偽値
・配列
・オブジェクト

気になった書き方としては以下だけ。

let test = 6 < 3;

これでTrueを入れるみたいな感じ?

今日はここまで。おつかれさまでした 。

いいなと思ったら応援しよう!