객체 지향 JavaScript — 변수 모범 사례

https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62에서 Amazon에서 내 책을 확인하십시오.

지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.

JavaScript는 부분적으로 객체 지향 언어입니다.

JavaScript를 배우려면 JavaScript의 객체 지향 부분을 배워야 합니다.

이 기사에서는 변수의 범위를 살펴보겠습니다.

변수의 범위



JavaScript에는 ES6부터 블록 범위 변수가 있습니다.
let 또는 const로 변수를 선언하는 한 블록 범위가 됩니다.

우리는 쓸 수있다:

function foo() {
  let local = 2;
}


블록 범위 변수 생성local  .

이것은 블록 내에서만 사용할 수 있습니다.

전역 변수를 생성할 수도 있습니다.

예를 들어 다음과 같이 작성할 수 있습니다.

var x = 1;


최상위 수준에서 전역 변수를 생성합니다.

이는 호이스팅되어 스크립트 내 어디에서나 선언에 액세스할 수 있음을 의미합니다.

그러나 값은 할당된 후에만 사용할 수 있습니다.
var 최상위 수준에서 사용되는 전역입니다.

이름 충돌을 피하기 위해 전역 변수를 생성하지 않아야 합니다.

블록 범위 변수는 블록 내에서만 사용할 수 있으므로 추적하기가 더 쉽습니다.

가변 호이스팅



변수 호이스팅은 var 변수로만 수행됩니다.

예를 들어 다음과 같이 작성할 수 있습니다.

var a = 123;


그런 다음 다음과 같이 사용하면

var a = 123;

function foo() {
  console.log(a);
  var a = 1;
  console.log(a);
}
foo();

a의 첫 번째 로그는 undefined  입니다.

그리고 두 번째 콘솔 로그는 1입니다.

이는 콘솔 로그가 함수 내에서 a를 가져오기 때문입니다.
var는 함수 범위이며 값은 함수에서 가져옵니다.

따라서 우리는 각각 undefined와 1을 얻습니다.

블록 범위



함수 범위 지정이 혼란스럽기 때문에 ES6은 블록 범위 변수를 도입했습니다.
letconst를 사용하여 변수를 선언할 수 있습니다.

그것들은 호이스팅되지 않으며 const 변수는 선언될 때 초기 값이 할당되어야 합니다.

예를 들어 다음과 같이 작성할 수 있습니다.

var a = 2; {
  let a = 3;
  console.log(a);
}
console.log(a);


콘솔 로그의 a는 3입니다.

그리고 블록 외부의 콘솔 로그는 var 선언에서 2를 기록합니다.

블록 범위 변수로 추론하는 것이 더 쉽기 때문에 모든 곳에서 사용해야 합니다.

변수를 만드는 규칙은 const 먼저 새 값에 할당할 수 없다고 생각하는 것입니다.

변수에 새 값을 할당해야 하는 경우 let  를 사용합니다.

그리고 우리는 var를 사용하지 않습니다  .

기능은 데이터입니다.



변수에 함수를 할당할 수 있습니다.

예를 들어 다음과 같이 작성할 수 있습니다.

const foo = function() {
  return 1;
};


그런 다음 foo 변수에 함수를 할당했습니다.

이것을 함수식이라고 합니다.

그리고 우리가 쓴다면:

const foo = function bar() {
  return 1;
};


그런 다음 변수에 함수 선언을 할당했습니다.

함수 내에서 원래 이름에 액세스할 수 있다는 점을 제외하고는 동일합니다.

따라서 bar 함수의 본문 내에서 이름 bar를 얻을 수 있습니다.

그러나 우리는 그것을 외부에 foo로 부릅니다.
typeof 연산자를 사용하여 'function' 유형을 값으로 반환합니다.

우리가 가지고있는 경우 :

typeof foo

'function'  .

결론



변수를 선언하려면 let 또는 const를 사용해야 합니다.

또한 변수에 함수를 할당할 수 있습니다.

좋은 웹페이지 즐겨찾기