できる気になっているJSを改めてチュートリアルからやってみる 3日目
~~ トラブルシューティング ~~
最近ちょっとずつまた学びなおす必要が出てきたなぁと思い、いろいろプログラムを勉強しなおしているところなんですが、実はもう今使っている知識は古いのかもと思って、アップデートしようとおもいやってみる会。
実施するのは、この記事
完全な初心者向けと書かれたチュートリアルは全然初心者向けではないって話。アップデートしていきましょう。
トラブルシューティング
エラーの種類は以下
文法エラー - プログラムが全く動かなかったり、途中で止まったりするエラー。
論理のエラー - 書き方は正しくても、コードが意図したとおりに動かないエラー。文法エラーより直すのムズイ。
あれ、このエラー回りはほとんど新しいことはなさそう。なので次。
必要な情報を保存する — 変数
変数を宣言する、初期化する。(言い方を思い出した)
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を入れるみたいな感じ?
今日はここまで。おつかれさまでした 。