RubyとJavaScriptの学習を進めているうちに
『そもそも、Rubyってなんだっけ❓』 『JavaScriptとなにが違うの❓』
という疑問が湧き出てきたので、アウトプット用として記事を作成しました。
RubyとJavaScript
まず、プログラミング言語には2種類あります。
コンパイル言語とインタプリンタ言語。
簡潔にいうと、、、
インタプリタ言語(Ruby・JavaScript・Pythonなど)は、コードを実行する際に1行ずつ機械語に翻訳していく言語。
コンパイル言語(Java・C++・Objective-C・Go・swiftなど)は、ソースコードを1行1行ではなく一括で機械語に翻訳して、実行していく方式の言語
引用元に私の同期の方がわかりやすく記事にまとめているので参考にして見てください!
現在学習中の言語、RubyとJavaScriptはインタプリタ言語でした。
ここで、JavaScriptとRubyの違いをざっくりだけどまとめてみることに!
JavaScriptとRubyのコードの違いについて
- 基本的な構文 -
[JavaScript]
function sayHello() {
console.log("Hello, World!");
}
sayHello();
・ " function " キーワードを使用して関数を定義。
・ " console.log " を使ってコンソールに出力。
[Ruby]
def say_hello
puts "Hello, World!"
end
say_hello
・ " def "キーワードを使用してメソッドを定義。
・ " puts " を使ってコンソールに出力。
- 変数の宣言 -
[JavaScript]
let message = "Hello, World!";
console.log(message);
・let、const、varキーワードを使用して変数を宣言。
・変数・関数共に基本「キャメルケース」で書く。
[ 例 ] function createUserAccount(引数)
[Ruby]
message = "Hello, World!"
puts messag
・変数の宣言に特別なキーワードは必要なく、直接名前を付けて値を代入。
(※命名規則として英字、数字、_(アンダースコア)を使う。ただし、先頭に数字や大文字を使用することはできない。)
・英字はすべて小文字で書き、2単語以上をつなげるときは_を間にいれる。このような表記のことを「スネークケース」という。
ヘビみたいな ーー__ーー 形だからスネークケースらしい
[ 例 ] name user_name
現れたRubyのオブジェクト指向
Rubyのテキストを進めつつ、やっとJavaScriptに慣れてきたなあと
JavaScriptのオブジェクトに浸っていたら
突如現れた、Rubyのオブジェクト指向。
そもそも、オブジェクト指向ってなんだ!って調べてみると、、、
オブジェクト指向とは、
「処理を部品化し、それらを組み合わせることで1つのプログラムを構築していくやり方」のことらしいです。
以下参照
引用元 :オブジェクト指向とは?具体例を交えてわかりやすく解説
[JavaScriptオブジェクト]
・JSのオブジェクトの構造はRubyでいうハッシュのようなもの。
・JSで扱われるデータであるオブジェクトは、なんらかの組み込みコンストラクタから生成され、そのプロパティやメソッドを使用できる。
[Rubyオブジェクト]
・Rubyの世界ではすべてのデータがオブジェクト。
この時扱っているデータという数値3や、"hello EK"の文字列などもオブジェクトになる。
そして、このオブジェクトにはそれぞれ所属先があり、
例えば3は整数だから、整数オブジェクト(Integerクラス)、
文字列だったら(Stringクラス)。その所属先のことをクラスという。
最後に、、、
ここまで基本的なことを書いてみました。
ただ今、学習しているRubyを深掘りしていきたいので
次回の記事ではRubyのメソッドや使い方をアウトプットしていけたらなと思います!
まだまだ、改善の余地はありますので、指摘などご意見ください!!!