JavaScript 上級プログラミング (第 4 版) 読書 共有 メモの記録
始めたばかりの仲間に適用
ECMAScript 変数には、プリミティブ値と参照値という 2 つの異なるタイプのデータを含めることができます。
参照値 (またはオブジェクト) は、特定の参照型のインスタンスです。ECMAScript では、参照型は
データと機能をグループ化する構造です。
日にち
新人チュートリアルでは、特定の Date 型のプロパティとメソッドを表示できます
日付オブジェクトを作成するには、
new演算子を使用して
Dateコンストラクター
を呼び出します
。
let now = new Date();
- ECMAScript には、メソッドが実行された日時をミリ秒単位で返すDate.now()メソッドも用意されています。
// 起始时间
let start = Date.now();
- Date型のvalueOf()メソッドは文字列をまったく返しません。このメソッドは日付のミリ秒を返すように書き換えられます。
var d=new Date();
var n=d.valueOf();
- getTime() は、valueOf()と同様に、日付のミリ秒表現を返します。
var d = new Date();
var n = d.getTime();
正規表現
ECMAScript は、
RegExpタイプ
による
正規表現をサポートします。
プリミティブ値ラッパー型
プリミティブ値の操作を容易にするために、
ECMAScript は
3 つの特別な参照タイプ ( Boolean 、Number 、String )
を提供します
。
ブール値
JavaScript Boolean オブジェクト | 初心者向けチュートリアル
番号
JavaScript 数値オブジェクト | 初心者向けチュートリアル
- toFixed()メソッドは、指定された小数点以下の桁数を含む数値文字列を返します。
let num = 10;
console.log(num.toFixed(2)); // "10.00"
- isInteger()メソッドと安全な整数、ES6 には、値が整数として格納されているかどうかを識別するNumber.isInteger()メソッドが追加されました。
console.log(Number.isInteger(1)); // true
console.log(Number.isInteger(1.00)); // true
console.log(Number.isInteger(1.01)); // false
弦
JavaScript 文字列オブジェクト | 初心者向けチュートリアル
- charAt()メソッドは、メソッドに渡された整数パラメータで指定された、指定されたインデックスの文字を返します。
let message = "abcde";
console.log(message.charAt(2)); // "c"
- concat()、1 つ以上の文字列を新しい文字列に連結するために使用されます。
let stringValue = "hello ";
let result = stringValue.concat("world");
console.log(result); // "hello world"
console.log(stringValue); // "hello"
- ECMAScript は、文字列から部分文字列を抽出するための3 つのメソッドを提供します
いずれの場合も、2 番目の引数を省略すると、文字列の末尾まで抽出されます。
- スライス()
最初のパラメータは部分文字列の開始位置を示し、2 番目のパラメータは部分文字列が終了する位置を示します。
2 番目のパラメータは抽出が終了する位置です (つまり、この位置より前の文字が抽出されますが、この位置は含まれません)。
let stringValue = "hello world";
console.log(stringValue.slice(3)); // "lo world"
console.log(stringValue.slice(3, 7)); // "lo w"
- 部分文字列()
最初のパラメータは部分文字列の開始位置を示し、2 番目のパラメータは返される部分文字列の数を示します。
let stringValue = "hello world";
console.log(stringValue.substr(3)); // "lo world"
console.log(stringValue.substr(3, 7)); // "lo worl"
- 部分文字列()
最初のパラメータは部分文字列の開始位置を示し、2 番目のパラメータは部分文字列の終了位置を示します。
2 番目のパラメータは抽出が終了する位置です (つまり、この位置より前の文字が抽出されますが、この位置は含まれません)。
let stringValue = "hello world";
console.log(stringValue.substring(3)); // "lo world"
console.log(stringValue.substring(3,7)); // "lo w"
- 弦の位置決め方法
IndexOf()
と lastIndexOf()、
これら 2 つのメソッドは、文字列から受信文字列を検索し、位置 (
見つからない場合は -1
) を返します。
let stringValue = "hello world";
console.log(stringValue.indexOf("o")); // 4
console.log(stringValue.lastIndexOf("o")); // 7
どちらのメソッドも、検索を開始する位置を示すオプションの 2 番目のパラメーターを受け取ることができます。
let stringValue = "hello world";
console.log(stringValue.indexOf("o", 6)); // 7
console.log(stringValue.lastIndexOf("o", 6)); // 4
- 文字列にメソッドが含まれています
ECMAScript 6 では、
文字列に別の文字列が含まれているかどうかを判断するための 3 つのメソッドが追加さ
れています
。
endsWith()
と
includes() 。
let message = "foobarbaz";
console.log(message.includes("bar")); // true
console.log(message.includes("qux")); // false
- トリム()メソッド
ECMAScript は、
すべての文字列に対して
Trim()メソッドを提供します
。このメソッドは、文字列を削除する前にコピーを作成します。
すべてのスペースの後に結果を返します。
let stringValue = " hello world ";
let trimmedStringValue = stringValue.trim();
console.log(stringValue); // " hello world "
console.log(trimmedStringValue); // "hello world"
- 文字列の大文字と小文字の変換
toLowerCase()
、
toLocaleLowerCase()、toUpperCase()
および
toLocaleUpperCase()
。
let stringValue = "hello world";
console.log(stringValue.toLocaleUpperCase()); // "HELLO WORLD"
console.log(stringValue.toUpperCase()); // "HELLO WORLD"
console.log(stringValue.toLocaleLowerCase()); // "hello world"
console.log(stringValue.toLowerCase()); // "hello world"
シングルトン組み込みオブジェクト
算数
ECMAScript は、
数式、情報、計算を保存する場所としてMathオブジェクト
を提供します。
min()メソッドとmax()メソッド
let max = Math.max(3, 54, 32, 16);
console.log(max); // 54
let min = Math.min(3, 54, 32, 16);
console.log(min); // 3
//要知道数组中的最大值和最小值,可以像下面这样使用扩展操作符
let values = [1, 2, 3, 4, 5, 6, 7, 8];
let max = Math.max(...val);
四捨五入法
- Math.ceil()メソッドは常に最も近い整数に切り上げます。
- Math.floor()メソッドは常に最も近い整数に切り捨てます。
- Math.round()メソッドは丸めを実行します。
- Math.fround()メソッドは最も近い単精度を返します。
console.log(Math.ceil(25.9)); // 26
console.log(Math.ceil(25.5)); // 26
console.log(Math.ceil(25.1)); // 26
console.log(Math.round(25.9)); // 26
console.log(Math.round(25.5)); // 26
console.log(Math.round(25.1)); // 25
console.log(Math.fround(0.4)); // 0.4000000059604645
console.log(Math.fround(0.5)); // 0.5
console.log(Math.fround(25.9)); // 25.899999618530273
console.log(Math.floor(25.9)); // 25
console.log(Math.floor(25.5)); // 25
console.log(Math.floor(25.1)); // 25
ランダム()メソッド
Math.random()メソッドは、
0 から 1 の範囲の乱数
を返します
。これには0 は含まれますが、1は含まれません。
Math.random()
を使用すると、
次の式に基づいて整数のセットから数値をランダムに選択できます。
function selectFrom(lowerValue, upperValue) {
let choices = upperValue - lowerValue + 1; //通过将这两个值相减再加 1 得到可选总数
return Math.floor(Math.random() * choices + lowerValue);
}
a~bの範囲の値(aとbを含む)