JavaScript의 ES6 사양에서 let과 const의 사용법과 차이

2410 단어 JavaScriptletconst
ES6 – let 및 const 명령

인용문


본고는 주로 ES6에서 변수의 관련 조작, 변수의 명칭, var,let,const 세 가지 차이를 설명한다

본문


ES6의 let과 const는 모두 변수를 설명하는 데 사용되며, 그들은 var와 차이가 있다

let 명령


우리는 모두 for순환에서 우리가 명명한 변수 i는 일반적으로 이 순환에서 사용하기 위해 임시로 명명된 것을 알고 있다. 우리는 순환이 끝난 후에 이 변수가 사라지기를 원하지만 반대로 var로 명명된 변수는 for순환이 끝난 후에 파괴되지 않고 전체 국면에 존재한다.

for(var i=0; i<5; i++) {
	console.log(' '+ i)
}
console.log(i)
/* 결과 출력 */
순환
순환
순환
순환
5//여기는 순환 출력 i
그러나 만약 우리가 for 순환에 있다면, let으로 변수를 명명하는 것은 어떨까요?

for(let i=0; i<5; i++) {
	console.log(' '+ i)
}
console.log(i)
/* 결과 출력 */
순환
순환
순환
순환
undefined//여기는 순환 출력 i입니다. 정의되지 않은 것을 표시합니다.
이렇게 하면 var명칭으로 인한 변수 유출 문제를 해결할 수 있다. 사실 그 본질은 작용역이다. let은 그 자신이 있는 코드 블록에만 작용하고 var은 전체 국면에 효과적이다.예를 들어 이 간단한 예:

{
	let i = 1
	var n = 2
}
console.log(i)
console.log(n)
/* 결과 출력 */
undefined

let 이름의 변수는 그 코드 블록에만 존재하고 외부에 접근하지 못하며 var는 전역적으로 명명된 것을 볼 수 있습니다.

const 명령


const와 let은 유사하고 이름이 붙은 변수는 코드 블록에서만 접근할 수 있으며 외부에 접근할 수 없습니다. 그러나 const와 let의 차이점은 const가 명명한 변수는 읽기 전용 변수입니다. 간단하게 말하면 이름이 붙으면 뒤에서 수정할 수 없습니다. 예를 들어 이 예:

const a = 'apple'
let b = 'orange'

a = 'watermelon'
b = 'banana'
/* 결과 출력 */
a = 'watermelon'
  ^
콘스트가 명명한 변수 a는 바꿀 수 없고 다음에 값을 부여할 수 없기 때문에 시스템이 직접 오류를 보고할 수 있습니다.
사실const명명 변수는 이후에 정말 바꿀 수 없는 것이 아니다. 왜냐하면 const명명할 때 화살표를 메모리의 한 대상을 가리키기 때문이다. 이 대상의 주소를 바꾸지 않으면 const명명 변수는 변화할 수 있다. 예를 들어

const list1 = []

list1.push(' 1')

console.log(list1)

// [' 1']
목록 1이 보입니다.pish ('변화 1') 는 변수list1이 메모리에 있는 주소를 바꾸지 않습니다.
그러나list1 = ['변화1'] 메모리에 있는 list1의 주소를 바꾸기 때문에 오류가 발생합니다.

const list1 = []

list1 = [' 1']

console.log(list1)

//  :list1 = [' 1']
       ^

끝말


이것이 바로 let과 const의 간단한 응용입니다. 여러분께 도움이 되었으면 합니다. 다음 ES6(2)에서는 변수의 해구 부치를 설명합니다.
자바스크립트에서 ES6 규범에서 let과 const의 사용법과 차이에 관한 이 글은 여기까지 소개합니다. 자바스크립트에서 let과 const의 사용법 차이에 관한 더 많은 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다!

좋은 웹페이지 즐겨찾기