変数と文字列 letを使った変数宣言 IIFE(Immediately Invoked Function Expression)の除去、ブロックスコープ
入門JavaScriptプログラミング (JD Isaacks(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT1(変数と文字列)、LESSON 4(letを使った変数宣言)、4.5(練習問題)、Q4-1の解答を求めてみる。
HTML
<script src="./sample1.js"></script>
コード
window.mylib = {};
{
let DEFAULT_START = 0;
let DEFAULT_STEP = 1;
window.mylib.range = function (start, stop, step) {
if (!step) {
step = DEFAULT_STEP;
}
if (!stop) {
stop = start;
start = DEFAULT_START;
}
if (stop < start) {
let tmp = start;
start = stop;
stop = tmp;
}
let arr = [];
for (let i = start; i < stop; i += step) {
arr.push(i);
}
return arr;
};
}
console.log(mylib);
console.log(mylib.range());
console.log(mylib.range(10));
console.log(mylib.range(1, 10));
console.log(mylib.range(1, 10, 2));
入出力結果(Console)
[Log] {range: function} (sample1.js, line 29)
[Log] [] (0) (sample1.js, line 30)
[Log] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] (10) (sample1.js, line 31)
[Log] [1, 2, 3, 4, 5, 6, 7, 8, 9] (9) (sample1.js, line 32)
[Log] [1, 3, 5, 7, 9] (5) (sample1.js, line 33)