Movatterモバイル変換


[0]ホーム

URL:


  1. Glossary
  2. Scope

Scope

Thescope is the current context of execution in whichvalues and expressions are "visible" or can be referenced. If avariable or expression is not in the current scope, it will not be available for use. Scopes can also be layered in a hierarchy, so that child scopes have access to parent scopes, but not vice versa.

JavaScript has the following kinds of scopes:

  • Global scope: The default scope for all code running in script mode.
  • Module scope: The scope for code running in module mode.
  • Function scope: The scope created with afunction.

In addition, identifiers declared with certain syntaxes, includinglet,const,class, or (in strict mode)function, can belong to an additional scope:

  • Block scope: The scope created with a pair of curly braces (ablock).

Afunction creates a scope, so that (for example) a variable defined exclusively within the function cannot be accessed from outside the function or within other functions. For instance, the following is invalid:

js
function exampleFunction() {  const x = "declared inside function"; // x can only be used in exampleFunction  console.log("Inside function");  console.log(x);}console.log(x); // Causes error

However, the following code is valid due to the variable being declared outside the function, making it global:

js
const x = "declared outside function";exampleFunction();function exampleFunction() {  console.log("Inside function");  console.log(x);}console.log("Outside function");console.log(x);

Blocks only scopelet andconst declarations, but notvar declarations.

js
{  var x = 1;}console.log(x); // 1
js
{  const x = 1;}console.log(x); // ReferenceError: x is not defined

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp