見出し画像

②「Vol.4 オブジェクト:ノンプロ研初心者向けプログラミング講座【GASコース第9期】

↓この続きです。

講座当日のtogetter


GASのデータ型

数値型(Number)
文字列型(String)
真偽型(Boolean)
配列型(Array)
オブジェクト型(Object)

配列
・インデックスをキーとするデータの集合
・記法(リテラル)[10, 20, 30] ['ABC', true,100]

オブジェクト
・プロパティをキーとするデータの集合
・記法(リテラル){x:10, y:20, z:30} {name:'Taro', age:25}

GASのデータ型はシンプルに5つだった。
配列を学んだ後にオブジェクトに触れると、配列に似ているがちょっと違うやつだなと思える。括弧の形が違う、配列の値に相当する部分が x:10 のようにペアになっている。

オブジェクトリテラル(記法、書き方)

{プロパティ1: 値1, プロパティ2 :値2, …}
{name: 'Bob', gender: 'male', age: 25}

画像1

プロパティは任意の文字列となる。プロパティの箇所に書くと、自動的に文字列に変換されるらしい。

あんまり気にしていなかったが、配列同様、変数や定数として、代入/定義できる。

const person = {name: 'Bob', gender: 'male', age: 25};

オブジェクトの参照法 ドット記法とブラケット記法

書きやすいのはドット記法

ブラケット記法はプロパティを変数・定数で指定したいときに便利

↓ドット記法

画像2

↓ブラケット記法

画像3


ドット記法は、htmlにおいて、スラッシュでフォルダ階層を潜っていくのに似ている。

確かに、天気予報botを作ったときに、天気情報を取り出すときもこんな感じだった。

そういえば、bracket とは?ブランケットじゃないよ。
持ち送り、腕木、腕金、張り出し棚受け、(腕木で支えられた)張り出し棚、角括弧、丸括弧、かぎ括弧、(同類として区分される)グループ


プロパティの追加、値の上書き

画像4

ここで注意としては、スペルミスすると新たなプロパティが作成されてしまう、ということだ。

↓Bobを上書きしようとして、name をnamaとスペルミスした場合の例。

画像5

このようなスペルミスを防ぐ意味でも「打たない」でコードを作成していく必要がある。サジェストやコピーを活用しよう。

↓プロパティには変数や定数を使用することもできる。

画像6


for...in文

画像7

keyにはプロパティが格納
要素はresults[key]

for in文は取り出し順が保証されていません、というところが注意ポイント。
for of は配列で活躍。
for in はオブジェクトのすべてのプロパティについて繰り返す。


演習4-05

引数としてオブジェクトを渡すと、その内容すべてを「プロパティ: 値」という形式でログ出力する関数を作成してみましょう。

また日本語がよくわからなくて不安になってきた。
下記のコードを回答した。

// 回答 numbersとして定義したオブジェクトを引数に渡して、
// getnumbers関数で仮引数としてnumbers=objectになり、
// numbersオブジェクトのkey=プロパティの分、forを回してログ出力する、
// という理解

function myFunction4_05() {
 const numbers = { Num01: 85, Num02: 70, Num03: 65 };
 getnumbers(numbers);
}
function getnumbers(object) {
 for (const key in object) {
   console.log(`${key}: ${object[key]}`);
 }
}


続く。


いいなと思ったら応援しよう!

good-sun(a03)
いただいたサポートで、書籍代や勉強費用にしたり、美味しいもの食べたりします!