この夢から出られない

「知らん人の書いてるよくわからないブログ」を目指します

HTML5プロフェッショナル認定試験 レベル2 あやふや点メモ①

問題やっていても覚えられない気がしたので。②があるかは不明。

プリミティブ型とオブジェクト


      let str1 = "10";
      let str2 = new String("10");
      console.log(typeof str1);
      console.log(typeof str2);
  

結果1:string 結果2:object new Stringするとオブジェクト型になる。

String.substring(a,b)


      let origin = "あいうえお";
      let substring = origin.substring(2,4);
      console.log(substring);  
      

結果:うえ 第二パラメーターに指定された番地の文字は含まない。

等価演算子


      let a = "10";
      let b = new String("10");
      console.log(a == b);
  

結果:true リテラルとオブジェクトを比較する場合、オブジェクトはリテラルに変換されて比較。


      let a = new String("10")
      let b = new String("10");
      console.log(a == b);
  

結果:false オブジェクトの比較は、参照先があっているかを判定する。


      let a = "10";
      let b = 10;
      console.log(a == b);
  

結果:true 暗黙の型変換が実施される。

正規表現

※RexExpが試験範囲なので出るらしい。マジ?


      // String.matchを使う場合。チェック対象.match(パターン)
      let pattern = /^\d{3}-?\d{4}$/g;
      let checkTarget = "151-9088"; // ※郵便番号は適当だが、形式よし
      let checkResult = checkTarget.match(pattern);
      console.log(checkResult);// チェックOKであった場合、値がcheckResultに代入されている。"['151-9088']"
  

      // RexExpを使う場合 .exec→文字列内で一致するものの検索を実行します。結果情報の配列を返します。一致するものがなければ null を返します。
      let pattern = new RegExp(/^\d{3}-?\d{4}$/g); // ※""で囲まない。
      let checkTarget = "151-9088"; 
      let checkResult = pattern.exec(checkTarget);
      console.log(checkResult);// チェックOKであった場合、オブジェクトが返される。['151-9088', index: 0, input: '151-9088', groups: undefined]
      

      // RexExpを使う場合 .test→文字列内で一致するものがあるか検査します。 true または false を返します。
      let pattern = new RegExp(/^\d{3}-?\d{4}$/g);
      let checkTarget = "151-9088"; // ※郵便番号は適当だが、形式よし
      let checkResult = pattern.test(checkTarget);
      console.log(checkResult);// 当てはまっていればtrue そうでなければfalse
      

関数に引き渡された値

配列などのオブジェクト→参照先が渡される


      var hairetsu = [100, 200, 300, 400]; // 配列はオブジェクト型=参照先が渡される。
      console.log(hairetsu);
      function pushResult(val) {
          val.push(500); // ここで配列の中身が追加される。
	      return val; 
      }
      console.log(pushResult(hairetsu)); // 追加済みの値を出力
      console.log(hairetsu);             // すでに値は変わっているので追加済の値が出力
      

結果1:[100, 200, 300, 400] 結果2:[100, 200, 300, 400, 500] 結果3:[100, 200, 300, 400, 500]

<要確認>文字→基本型だから値渡し……ではないらしい。?。


      let moji = "あいうえお"; 
      console.log(moji);
      function pushResult(val) {
          moji += "かきくけこ"; 
	      return moji; 
      }
      console.log(pushResult(moji)); 
      console.log(moji);             
      

結果1:あいうえお 結果2:あいうえおかきくけこ 結果3:あいうえおかきくけこ

 

with文

・ナニコレ?と思ったらそもそも非推奨。そりゃ実務で見ないわけだ。

with - JavaScript | MDN (mozilla.org)

・strictモードでは利用不可。


    with ([200])
      console.log(toString());

Math小数点操作


    console.log(Math.round(3.5)); // 四捨五入 4
    console.log(Math.ceil(3.1));  // 切り上げ 4
    console.log(Math.floor(3.5)); // 切り捨て 3