最近、生活環境を変えたやすです。
今日は、これまで使ってきたオブジェクト
例:(windowオブジェクト、documentオブジェクト、consoleオブジェクト)
と、
配列のようなオブジェクト
例:(let jsbook = {title:’JavaScript 入門’, price: 2500, stock: 3};)
の違いです。
はっきり言ってまだ、私、理解中途です(笑)とりあえず、まとめます。
これまで使ってきたオブジェクトはメソッド、プロパティがもともと備わっていました。
console.log()の.log()はメソッド (あっ,ちなみに、.log()の()の中身はパラメータね)
で、今回のオブジェクトですよ。。。
プロパティとデータ(値)しかないじゃないか…
プロパティ:title, price, stock
データ(値):JavaScript 入門, 2500, 3
これだけですよね(笑)
しかーし今回作成したオブジェクトには、なんと、ファンクションを保存しておくことができる様なのです。
そのプログラミングとして、
let obj = {
addTax: function(num) {
return num*1.08;
}
};
何が違うの???ですよね。
実際は、変数objに'{}’で囲まれたaddTaxプロパティのデータとして、functionを定義しています。
???です。
addTaxのあとに’:’がついており、そのあとにfunction(num)が来てますよね。
つまり、以前紹介した記事の
let jsbook = {プロパティ名: データ(値), プロパティ名: データ(値), …..}
プロパティ:データ(値)という形になっているわけです。
ただ単に今回がaddTaxがプロパティ、functionがデータになっているだけです。
まぁ、function(num)が定義されているので、関数(メソッド)が続いていますが…
肝心の何が違うのかですが…
今回、プロパティのデータがfunctionでしたよね。
その時、そのプロパティのことを特別に「メソッド」と呼ぶみたいなのです。
個人的には、functionが付くと自分で関数(メソッド)を作れるからかなと思ってます。
つまり、僕でもメソッドとプロパティを持つオブジェクトを作成することができるみたいです。
なので、何が違うのかについては…functionを使えばメソッドになるので、たぶん同じです。おおざっぱなのでまた勉強して違えば修正します。
ちなみに、これを使いこなすには、「JavaScriptのオブジェクト指向プログラミング」という知識とテクニックが必要らしいので、またにします(笑)
自分が勉強している本では、まずは、プロパティだけを持つオブジェクトを作成し、複数のデータを1つにまとめて管理する方法を習得しろとのことでした。
よくばりな自分にはいい本です!!
以上です。
コメント