JavaScriptの学習(触りだけ)

rubyの学習と並行して、JavaScriptを触ってみました。

あっ、ここrubyと一緒じゃんってところも幾つかあって、学習は捗ったと思います。rubyでの記述と比較しながら、学習した事をつらつらと書いてみようかと。

 

記述はテキストエディタではなく、直接記述して結果が見れるデベロッパーツール使いました。ツールの場所ですが、ブラウザでF12押すとページのHTMLとかが書かれた検証ツールっていうのが出てきます。HTMLの上に表示窓があって、現在「Elements」になってます。

その隣の「Console」をクリックすると出てきます。ターミナルみたいな画面ですね。rubyの学習ではターミナルでirb起動させて色々やってましたが、Javaはこっちで色々やると思います。

 

 

・console.log()

カッコの中にテキストを入れてエンターを押すと、次の行にテキストが出力されます。rubyでいうputs です。

 

・const/ let/ var

const 変数名 = 変数に入れる値

let 変数名 = 変数に入れる値

var 変数名 = 変数に入れる値

という感じで、変数定義ができます。rubyでは変数名 = 変数に入れる値でしたが、Javaは3種類あるんですね。constは再定義および再代入しようとするとエラーになります。1度定義したらずっとそのままな変数というわけですね。

letは再定義のみエラーになります。再代入は可能なので、値は変わる可能性があります。

varは再定義も再代入も可能です。一見使い勝手良さそうですが、どういう類の変数なのかが見た目で分かりづらいので、開発ではほとんど使われないそうです。制約ある方がかえってスムーズに開発できるって考え方はruby on railsに似てますね。

rubyでいう「文字列#{変数}文字列」みたいなこともできます。

Javaの場合は

「"文字列" + 変数 + "文字列"」

もしくは

「`文字列 ${変数}文字列`」

下の例の「`」はバッククォートっていうrubyではあんまり馴染みのない記号です。シフトキー押しながら@マーク押すと出てきます。こっちの方がメジャーな記述方法だそうです。ちなみにテンプレートリテラルって言います。

 

・if

rubyでもお馴染みの条件分岐です。

if (条件式) {

trueの時どうするか

} else if (条件式がfalseの時の条件式) {

trueの時どうするか

} else {

falseの時どうするか

}

 

rubyとは同じようでいて微妙に違います。条件式にカッコついてるし。elsifじゃなくてelse ifだし。あと書き方がなんとなくCSSっぽい。もしくはエクスペクテーションか。あ、でも演算子(+ - * / % == != || &&とか)はrubyと全く一緒です。

 

・配列

変数名 = [値1, 値2, 値3, ....]

というように、こちらもrubyと変わりません。0から始まる添字を利用して値を指定できるのも一緒です。

 

・for文

繰り返し処理にはJavaではこのfor文を使います。

 

for (最初の値; いつまで繰り返すの?; 繰り返すと値は変化するの?) {

  何を繰り返すの?

}

 

rubyでは、

 

いつまで繰り返すの? times do |繰り返すと1ずつ上がる変数|

  何を繰り返すの?

end

 

だったから、かなり違う印象です。なんとなくヘルパーメソッド見たいな書き方。eachメソッドのJavaバージョンとも言えるforEach関数なんてのもあります。