Skip to Content
初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発
book

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

by Ethan Brown, 武舎 広幸, 武舎 るみ
January 2017
Intermediate to advanced
452 pages
5h 53m
Japanese
O'Reilly Japan, Inc.
Content preview from 初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

7章スコープ

「スコープ」は変数、定数および引数が有効な範囲(いつ、どこで定義されていると見なされるか、どこで値を参照したり変えたりできるのか)を決めるものです。既にスコープに関して何度か触れましたが、この章で詳しく説明します。

まず次の例を見てください。

example/ch07/ex07-00-1/main.js

function f(x) {
  return x + 3;
}
console.log(f(5)); // 8
console.log(x); // エラー    ReferenceError: x is not defined(xは定義されていない)

上の例を実行するとf(5)から返される8は表示されますが、関数の外でxの値を見ようとすると、xが定義されていないというエラーになってしまいます。xは関数fの中でしか参照することができません。このとき、「xのスコープは関数fである」と言います。

関数の引数は関数の本体でしか有効ではありません。関数の仮引数は関数が呼び出されるまでは存在していないのです。

関数は2回以上呼ばれる場合があります。関数は呼ばれるたびにその引数の実体が生成され、呼び出された関数から制御が戻るときにスコープから消えます。

また、変数と定数は生成されるまで存在していません。つまりletあるいはconstで宣言されるまでは、スコープにはありません(varは特別です。「 7.8 関数のスコープと巻き上げ」で説明します)。

[注記]

プログラミング言語によっては、「宣言(declaration)」と「定義(definition)」の間に明確な区別がなされている場合があります。典型的には、変数の「宣言」は識別子(名前)を付与することでその存在を公表することになります。一方、「定義」は、多くの場合それを宣言し、かつ、それに値を与えることを意味します。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

スタッフエンジニアの道 ―優れた技術専門職になるためのガイド

スタッフエンジニアの道 ―優れた技術専門職になるためのガイド

Tanya Reilly, 島田 浩二
データサイエンス講義

データサイエンス講義

Rachel Schutt, Cathy O'Neil, 瀬戸山 雅人, 石井 弓美子, 河内 崇, 河内 真理子, 古畠 敦, 木下 哲也, 竹田 正和, 佐藤 正士, 望月 啓充
進化的アーキテクチャ ―絶え間ない変化を支える

進化的アーキテクチャ ―絶え間ない変化を支える

Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二

Publisher Resources

ISBN: 9784873117836Other