概要
JavaScriptを学習、理解を深めるため「JavaScript Primer 迷わないための入門書」を読み、
理解した内容等を記載していく。
「【JavaScript】JavaScript入門一覧」に他の記事をまとめています。
この記事で理解できること
- JavaScriptにおける文、式
- ブロック文の用途
式
- 式を評価すると結果の値(
評価値
)を得られる。 -
評価した結果を変数に代入できるもの
=式
という理解で問題ない。
// (数値、文字列などの)リテラルも式
1;
"これも式";
// リテラル(式)と演算子の組み合わせも式
1 + 1;
// 「関数を呼び出す」という処理も式
function returnNumber() {
return 7;
}
returnNumber();
// これらは全て変数に代入できる
const one = 1;
const discription = "これも式";
const result = 1 + 1;
const returnVal = returnNumber();
console.log(one); // => 1
console.log(discription); // => これも式
console.log(result); // => 2
console.log(returnVal); // => 7
文
- 処理の1ステップ1ステップのこと。
- 文の中に
式
を含むことができる。 - 文の末尾にセミコロン(
;
)を置くことで文の区切りを付けられる。 - 文は式になれず、変数にも代入できない。
// 「変数に値を代入する」という処理(文) ※正確には「変数宣言」という文
const foo = "変数fooに文字列を代入"; // 文に式(文字列リテラル)が含まれている
// if文やfor文なども文に該当する(この例は正式にはif文とブロック文の組み合わせ ※後述)
if (true) {
console.log('文の中の式');
}
for (let i = 1; i <= 3; i++) {
console.log(`${i}回目のループです。`);
}
式文
- 文になった式のこと(
式は文になれる
が文は式にはなれない
)
// ①式:関数呼び出し(log関数)、演算(1 + 1)、②文:コンソールに出力するという処理 = 式文
console.log(1 + 1);
ブロック文
- 文を
{
と}
で囲った部分をブロック
という。 - ブロック内には、複数の文が書ける。
- 基本的には
if文
やfor文
と組み合わせて処理を記載する。 - ブロックで終わる文の末尾には、
セミコロンが不要
。
/* ブロック内には複数の文を書ける **/
{
const blockVal = 'ブロックのスコープ内';
console.log('ブロック文1'); // => ブロック文1
console.log('ブロック文2'); // => ブロック文2
console.log('ブロック文3'); // => ブロック文3
console.log(blockVal); // => ブロックのスコープ内
}
console.log(blockVal);
// => ReferenceError: blockVal is not defined(変数blockValはブロックのスコープ外のため)
/* ブロック文は、if文などと組み合わせることが多い **/
// 非組み合わせ
if (true) console.log('if文です。');
// => if文です。
for (let i = 1; i <= 3; i++) console.log(`${i}回目のループです。`);
// => 1回目のループです。
// => 2回目のループです。
// => 3回目のループです。
// ブロックとの組み合わせ
if (true) {
console.log('ブロックと組み合わせたif文です。');
console.log('おかげで文を複数書くことができます。');
}
for (let i = 1; i <= 3; i++) {
console.log(`${i}回目のループです。`);
console.log('こちらも複数行書くことができます。');
}