ただ、ストレスなく生きたいだけのITエンジニアのブログ -- 弱小エンジニア脱却への道

【プログラミング初心者向け】JavaScript 入門 オブジェクト・メソッド編 -2

こんにちは!ISAMU(@burlesca_isa)です!

今回は【JavaScript 初心者向け】プログラミング入門 オブジェクト・メソッド編 第2弾!!!

第1弾よりもjavascriptのオブジェクトについて深く書いていきたいと思います。
第一弾はこちら。
[nlink url=”https://kajirinyo.com/programmer_javascript”]

javascriptを覚えるコツはオブジェクトの種類を覚えること

JavaScriptのオブジェクトを学ぶ際にどんな種類が存在するのかを覚えておくことをおすすめします。

抽象概念を覚えておけば、どこでどう使えばよいか理解できるからです。
登場人物で魔法使いであれば魔法が使える、戦士であれば剣術を使える的な。

それでは覚えてみましょう。

組み込みオブジェクト

JavaScriptではじめから利用できるオブジェクトのことを、組み込みオブジェクトといいます。

オブジェクトは自分でも作ることができます。
RPGの例で言えば、登場人物の名前を決めて、必殺技やプロパティを決めて実行することができるんですね。
自分で作った場合は組み込みオブジェクトではない。

第1弾で使用したwindowオブジェクトやconsoleオブジェクトは
設定しなくても登場人物や必殺技が使うことができました。
これらは組み込みオブジェクトです。

グローバルオブジェクト

超重要!!

オブジェクトのトップオブトップといっても過言ではありません。
すでに登場しているwindowオブジェクトがグローバルオブジェクトです。

WEBブラウザを開くときに最初に作成されるのがwindowオブジェクトです。

一番最初に作られるってだけで重要な気がしますよね。
windowオブジェクトがないとなにも始まらない。

少し勉強したことがある人は

document.getElementById();

使用したことがあると思います。

documentは、Windowオブジェクトの[documentオブジェクトを参照]するためのプロパティです。

本来なら

window.document.getElementById(); 

と記述するところを
windowオブジェクトは最強なので、省略して記述することができるので、
document.getElementByIdとすることができるのです。

console.logのconsoleもwindowオブジェクトのプロパティです。

window.alert()もalertだけで動きます

オブジェクトの分類

上で説明したものは呼び方的な感じです。
オブジェクトの分類は全部で3つに分類できます。

  • ネイティブオブジェクト
  • ホストオブジェクト
  • ユーザー定義オブジェクト

ネイティブオブジェクト

ECMAScriptの仕様で定義されているオブジェクトを、ネイティブオブジェクトといいます。

引用:徹底マスター JavaScriptの教科書

ECMAScriptというのは組織(ECMA)が標準化して規定したものです。

ECMAScriptとか考えず、
ざっくりいうと、実行環境を選ばず、JavaScriptで使えるオブジェクトってことですかね。

実行環境というのは、
WEB上で動作するクライアントサイドJavaScriptと、サーバー上で動作するサーバーサイドJavaScriptとかのことです。

ホストオブジェクト

ECMAScriptで定義されておらず、JavaScriptの実行環境によって定義されているオブジェクトをホストオブジェクトといいます。

引用:徹底マスター JavaScriptの教科書

ECMAScriptというのは組織(ECMA)が標準化して規定したものです。

ホストオブジェクトであるwindowオブジェクトは、今勉強しているクライアントサイドでは定義されていますが、サーバーサイドでは違います。

ユーザー定義オブジェクト

ユーザーが定義した、JavaScriptのコードを実行した結果生成されるオブジェクトをユーザー定義オブジェクトといいます。

オブジェクトを定義する構文で作ったオブジェクトのことです。

まとめ

今回はオブジェクトの種類について勉強しました。

知識を詰め込む勉強ってめんどくさいですよね。

ただ、本気でプログラマーを目指す場合には必須です。
嫌ですけど、必須なんです。

今後オブジェクトを勉強する際に、どのオブジェクトの分類かということを意識すると
良いと思います。

最新情報をチェックしよう!