maedaaki
11/25/2019 - 6:02 AM

study-js-2

// while文------------------------------------------------------------
// 条件式がtrueの間、{}内の処理を繰り返す
// {}のあとにセミコロン不要
while(条件式){
  処理
}

// 変数numberが100以下の間に処理を繰り返す
// trueの場合のみ{}の中の処理が1度実行される、
// 再び条件式がtrueかチェックされtrueならもう一度処理が実行される
// number+=1 値の更新を忘れると無限ループが発生する
let number=1;
while(number <= 100){
  console.log(number);
  number +=1;
}


// for文-------------------------------------------------------------------------
// for(;;)()の中は;で区切る
// {}の後のセミコロンは不要
for(変数の定義;条件式;変数の更新){
処理
}
// 「number+=1」は「number++」と省略できる
// 「number=number+1」 === 「number+=1」 === 「number++」
// 「number=number-1」 === 「number-=1」 === 「number--」

for(let number=1; number<=100; number+=1){
  console.log(number);
}
//結果:
1から100までの数字が出力される


//配列---------------------------------------------------------------
//複数の値をまとめて管理するには、配列というものを用いる
//配列は[値1,値2,値3]のように書く
//それぞれの値を要素という
const fruit 1 = "apple";
const fruit 2 = "banaba";
const fruit 3 = "orange";
//をまとめると
["apple","banana","orange"]
//数値をまとめた配列
[21,43,12]

//配列も1つの値なので、定数に代入できる。
const fruits=["apple","banana","orange"];
console.log(fruits);
//結果:
["apple","banana","orange"]
//配列が出力される


//配列[インデックス番号]とすることで配列の要素を取得することができる
//インデックス番号は0から始まる
const fruits=["apple","banana","orange"];
console.log(fruits[0]);
console.log(fruits[2]);
//結果:
apple
orange


//配列は要素に値を代入することでその要素を上書きすることができる
const fruits=["apple","banana","orange"];
console.log(fruits[0]);
//インデックス番号が0の要素の値を更新
fruits[0]="grape";
console.log(fruits[0]);
//結果:
apple
grape


//配列fruitsの要素数が3の場合
const fruits=["apple","banana","orange"];
console.log(fruits[0]);
console.log(fruits[1]);
console.log(fruits[2]);
//for文で上記を以下に書き換えられる
const fruits=["apple","banana","orange"];
for(let i=0; i<3;1++){
  console.log(fruits[i]);
}


//配列の要素数は配列.lengthで得られる
const fruits=["apple","banana","orange"];
console.log(fruits.length);
//結果:
3
//for文で使うと
const fruits=["apple","banana","orange"];
for(let i=0; i<fruits.length;1++){
  console.log(fruits[i]);
}


//オブジェクト-------------------------------------------------------
//オブジェクトは配列のようにデータをまとめて管理することに使う
//配列は値を並べて管理する
//オブジェクトはそれぞれの値にプロパティという名前をつけて管理する
//配列
[値1,値2,値3]
//オブジェクト
//プロパティと値の間は「:」コロン、要素と要素の間は「、」コンマ
{プロパティ1:値1,プロパティ2:値2}


//オブジェクトの値を取り出すには「オブジェクト.プロパティ名」
const item={name:"手裏剣",price:300};
console.log(item.name);
//結果:
手裏剣


//「オブジェクト.プロパティ名 = 新しい値」とすることでオブジェクトの値を更新
const item={name:"手裏剣",price:300};
item.price=500
console.log(item.price);
//結果:
500


//オブジェクトを要素に持つ配列
//配列の要素には、文字列や数値だけでなく、オブジェクトも使える
[{プロパティ1:値1...},{プロパティ2:値2}]
//コードが長くなるので、要素ごとに改行
const items=[
  {name:"手裏剣",price:300},
  {name:"忍者刀",price:1200}
];

//配列にするとインデックス番号が割り振られる
const items=[
  {name:"手裏剣",price:300},
  {name:"忍者刀",price:1200}
];
console.log(items[1]);
//結果:
{name:"忍者刀",price:1200}

//配列の中のオブジェクトのプロパティの値を取り出す
「配列[インデックス番号].プロパティ名」
const items=[
  {name:"手裏剣",price:300},
  {name:"忍者刀",price:1200}
];
console.log(items[1].price);
//結果:
1200


//for文を用いた配列のオブジェクトを順番に出力
const characters = [
  {name: "にんじゃわんこ", age: 14},
  {name: "ひつじ仙人", age: 100},
  {name: "ベイビーわんこ", age: 5},
];
// for文を完成させてください
for (let i=0;i<characters.length ;i++) {
  console.log("--------------------");
  // 定数characterを定義してください
  const character=characters[i];
  // 「名前は〇〇です」を出力してください
  console.log(`名前は${character.name}です`);
  // 「〇〇歳です」を出力してください
  console.log(`${character.age}歳です`);
}
//結果:
--------------------
名前はにんじゃわんこです。
14歳です
--------------------
--------------------
名前はひつじ仙人です。
100歳です
--------------------
--------------------
名前はベイビーわんこです。
5歳です
--------------------


// 配列の存在しないインデックス番号の要素や、オブジェクトの存在しないプロパティの要素を取得しようとすると、undefined と出力される
// undefined は特別な値で、値が定義されていないことを意味する。
const animals=["dog","cat","sheep"];
//存在しないインデックス番号
console.log(animals[5]);
//結果:
undefined

const character={name:"にんじゃわんこ",age:14};
//存在しないプロパティ
console.log(character:email);
//結果:
undefined


//undefined をif文の条件式に使う
const character=[....];
for(let i=0; i<characters.length;i++){
  const character=characters[i];
  if(character.age === undefined){
    //ageの値がundefined(定義されていない)の時の処理
  }else{
    //ageの値が定義されている時の処理
  }
}


//オブジェクトの値の部分には、文字列や数値だけでなく、オブジェクトを用いることができる
const character={
  name:"にんじゃわんこ",
  age:14,
  favorite:{
    food:"ラーメン",
    sports:"卓球",
    color:"若草色",
  },
};
//上記のようなオブジェクトの呼び出し
「オブジェクト名.プロパティ.プロパティ」
const character={
  name:"にんじゃわんこ",
  age:14,
  favorite:{
    food:"ラーメン",
    sports:"卓球",
    color:"若草色",
  },
};
console.log(character.favorite);
console.log(character.fovorite.food);
//結果:
{food:"ラーメン"}
ラーメン

//オブジェクトの値には配列を用いることもできる
const character={
  name:"にんじゃわんこ"
  age:14,
  foods:["ラーメン","うどん","やきそば"]
};