Jumpstart JavaScript - 변수
6237 단어 javascript
어느 것을 사용해야 합니까?
모든 변수에 대해
const
를 사용하여 시작한 다음 변수를 다시 할당해야 할 때 let
로 전환하십시오.블록 범위가 없으므로
var
를 사용하지 마십시오.구성 개요
변수를 다시 할당하지 않으려면
const
를 사용하십시오.const name = 'John'
name = 'Jane'
name
변수를 다시 할당할 수 없기 때문에 오류가 발생합니다.그러나 여전히 배열과 객체에 대한 변형을 허용합니다.
// Array
const people = ['John', 'Jane']
people.push('Jim')
// Object
const person = {
name: 'John',
age: 20,
}
person.name = 'Jim'
이 두 가지 모두 변수가 재할당되지 않고 변경될 때 작동하고 업데이트됩니다.
Understanding Immutability in JavaScript - Kingsley Silas
개요
변수를 다시 할당하려면
let
를 사용하십시오.let name = 'John'
name = 'Jane'
name
변수는 이제 "Jane"입니다.변수 개요
Avoid using
var
whenever possible as it lacks block scoping.
블록 범위란 무엇입니까?
즉, 블록은 중괄호(
{}
)로 정의됩니다.이들 중 가장 일반적인 것은 함수, if 문 및 루프입니다.
function addPerson() {}
if (true) {
}
for (let person of people) {
}
var
를 사용할 때 블록 범위 지정이 없습니다.var name = 'John'
function addPerson() {
name = 'Jane'
}
console.log(name)
name
변수는 이제 함수에서 다시 할당되었으므로 "Jane"이 됩니다. 변경 사항이 발생하는 위치를 이해하기 어려워지므로 문제가 됩니다.그러나
let
또는 const
를 사용하는 경우에는 그렇지 않습니다.let name = 'John'
function addPerson() {
name = 'Jane'
}
console.log(name)
name
변수는 "John"으로 유지됩니다.이 범위 지정을 통해 변수 이름을 재사용할 수 있습니다.
let name = 'John'
function addPerson() {
let name = 'Jane'
console.log(name)
}
console.log(name)
addPerson()
이것은 절대적으로 문제가 없으며 "John"과 "Jane"이 콘솔에 기록됩니다.
Reference
이 문제에 관하여(Jumpstart JavaScript - 변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/markmead/jumpstart-javascript-variables-121d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)