>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 `var` 키워드를 언제 어떻게 사용해야 합니까?

JavaScript에서 `var` 키워드를 언제 어떻게 사용해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-22 18:13:09202검색

When and How Should I Use the `var` Keyword in JavaScript?

JavaScript에서 'var' 키워드의 목적과 사용법 이해

JavaScript에서 'var' 키워드는 변수 선언, 범위 결정, 그리고 게양. 그러나 언제, 어떻게 사용해야 하는지(또는 생략해야 하는지) 혼란스러울 수 있습니다. 이 글의 목적은 'var'의 목적을 명확히 하고 개발자가 현명한 선택을 하도록 안내하는 것입니다.

'var' 키워드의 기능

변수 선언:
'var'의 주요 목적은 JavaScript에서 변수를 선언하는 것입니다. 이를 통해 개발자는 값을 저장할 수 있는 명명된 엔터티를 만들 수 있습니다. 예:

var someNumber = 2;
var someFunction = function() { doSomething; }
var someObject = { };

'var'을 사용하면 이러한 변수가 지정된 값으로 생성되고 초기화됩니다.

범위 결정

전역 범위:
'var'가 전역 범위에서 사용되면 선언된 변수는 스크립트 전체에서 전역적으로 액세스할 수 있게 됩니다. 이 동작은 'var' 키워드가 있는지 여부에 관계없이 동일하게 유지됩니다.

// Global variable creation
var someNumber = 2;
// Equivalent to
someNumber = 2;

함수 범위:
함수 내에서 'var'를 사용하면 제한된 지역 변수가 생성됩니다. 함수의 범위에. 그러나 'var'가 생략되면 JavaScript는 범위 체인에서 변수를 찾으려고 시도합니다.

function()
{
    // Local variable creation
    var foo = 1;
    // Global variable access
    bar = 2;
}

이 예에서 'foo'는 지역 변수이고 'bar'는 전역 변수입니다.

호이스팅

전역 범위:
다음으로 선언된 변수 전역 범위의 'var'은 스크립트 상단으로 끌어올려집니다. 이는 코드가 실행되기 전에 효과적으로 선언된다는 의미입니다.

함수 범위:
함수 내에서 'var'로 선언된 변수도 함수 블록의 맨 위로 끌어올려지지만 그렇지 않습니다. 전역 범위.

'var' 사용 시기

필수 할당:
이미 선언된 변수에 값을 할당할 때 'var'은 필요하지 않습니다.

var x; // Variable declaration
x = 10; // Assignment

반대로, 'var' 없이 변수를 선언하고 나중에 할당하면 JavaScript 새로운 전역 변수를 생성합니다.

변수 범위 제어:
다음과 같은 경우 변수의 범위를 제한하는 것이 중요합니다. 함수 내에서 'var'을 사용하는 것이 중요합니다. 이렇게 하면 해당 함수 내에서만 변수에 액세스할 수 있습니다.

'var'를 생략하는 경우

전역 범위 선언:
의도적으로 전역 변수를 생성하는 경우 'var'을 생략합니다. var'는 선호되는 선택이 될 수 있습니다. JavaScript는 이러한 변수를 전역 변수에 자동으로 할당하기 때문입니다. object.

"let"이 포함된 함수 범위 변수(ECMAScript 6):
최신 버전의 JavaScript(ECMAScript 6)에서는 'let' 키워드를 사용하여 선언할 수 있습니다. 함수 내의 블록 범위 변수를 사용하면 해당 목적에 'var'가 덜 필요합니다.

위 내용은 JavaScript에서 `var` 키워드를 언제 어떻게 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.