問題やっていても覚えられない気がしたので。②があるかは不明。
プリミティブ型とオブジェクト
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