var, const를 배우고 6분 이내에 [JavaScript] 학습
var
, const
및 let
변수 선언을 만나게 됩니다.ES6에는
const
과let
가 도입됐지만, 그 이전에는 var
만이 변수 성명의 유일한 방식이었다.그것들 중 하나는 모두 자신의 속성, 작용역과 용도를 가지고 있다.우리 는 그 중 의 각 종류 와 이 성명 변수 의 방법 사이 의 주요 차이 를 이해하게 한다
변수:
var
로 성명한 변수는 가변적이다. 즉, 그것들은 재분배할 수 있고, 심지어는 먼저 성명한 다음에 다른 단계에서 초기화할 수 있다.var num //num declared -- > value of num is undefined
num = 1 //num initialize/assigned-- > value of num is 1
num = 3 //num reassigned -- > value of num is 3
var
는 전역 및 기능 범위입니다.변수가 함수 외부에서 성명될 때, 전역 작용역을 가지고 있으며, 코드의 어느 위치에서든 이 변수에 접근할 수 있다
var firstName = "Sarvesh"
var lastName = "Kadam"
function greet(){
console.log(firstName+" "+lastName)
}
greet() //*Output*: Sarvesh Kadam
현재 함수 작용역은 함수 내부에서 var
키워드 성명 변수를 사용하면 함수 외부에서 접근할 수 없음을 표시합니다function hello(){
var firstName = 'Sarvesh'
}
console.log(firstName) //Will throw an error as firstName is not defined
우리는 함수 문법 범위 밖의 firstName
변수에 접근할 수 없습니다.콘스트와 라이트:
const
와 let
는 막힌 작용역이다(우리는 곧 알게 될 것이다).우선 차이점을 살펴봅시다.let
는 가변적var
과 const
은 가변적이다.아래의 예에서 보듯이, 우리는 하나의 실례에서 변수를 설명하고, 이후에 'item' 변수에 값을 부여하며, 심지어는 다시 값을 부여할 수 있다.
let item //declaration
item = "food" //item is assigned a value -- > value of item is food
item = "clothes" //item variable declared -- > value of num is clothes
어디 보자const
const item ; //the value must be assigned while declaring
item = "food" //error
const item2 = "pen"
item2 = "eraser" //error : value cannot be reassigned to constant variable
따라서 const
에서 우리는 하나의 실례에서 변수를 설명하고 초기화하기만 하면 값을 재분배/변경할 수 없다.현재
const
와 let
는 모두 막힌 범위이다. 즉, 우리는 괄호 {} 이외의 변수에 접근할 수 없다. 이 블록이 함수든 조건문이든.if(true){
let number1 = 2
const number2 = 4
}
console.log(number1) //will throw an error as number1 is not defined
console.log(number2) //will throw an error as number2 is not defined
변수'number1'과'number2'가 if 문장 블록에 성명되어 있기 때문에 접근할 수 없습니다. var
경우, 블록 범위가 아니라 함수 범위이기 때문에 접근할 수 있습니다.if(true){
var number = 5
}
console.log(number) //Output = 5
지금 우리는 한 장면을 토론할 것이다. 그 중에서 const
를 사용하여 대상을 성명할 것이다.const player = {
name : "Eden Hazard",
team : "Read Madrid",
position : "forward"
}
player.name = "Karim Benzema" //will re-assign the Value successfully
player = {
name : "Modric",
team : "Read Madrid",
position : "forward"
} //will throw an error
위의 예에서 보듯이, 우리는 const
성명된 대상 변수의 속성을 변경할 수 있지만, 전체 대상을 다시 분배할 수 없습니다.몇 가지 이상한 행동:
var
에서 우리는 단일 변수를 여러 번 성명할 수 있는데 오류가 발생하지 않는다.주의: 저희는 어떠한 상황에서도 이 부동산을 사용하지 않습니다. 단지 당신에게 알리고 싶을 뿐입니다
var name = "sarvesh"
console.log(name) //Output: sarvesh
var name = "rihan"
console.log(name) //Output : rihan
let
에서 우리는 같은 이름을 다른 블록 성명 변수로 사용할 수 있는데 이것은 전체 변수의 값에 영향을 주지 않는다 let a = 5
if(true){
let a = 8
console.log(a) //Output : 8
}
console.log(a) //Output : 5
우리는 변수를 설명하고 초기화하는 데 유사한 이름 'a' 를 사용했기 때문이다.블록 내부에서'a'의 값은 8이고 블록 외부, 즉 전역 대상에서 값은 5이다.var
변수는 함수/코드를 실행하기 전에 사용할 수 있다. console.log(name) //Output : undefined
var name = "sarvesh"
console.log(name) //Output : sarvesh
위 코드에서는 변수'name'의 값을 설명하거나 초기화하기 전에도 이 변수에 접근할 수 있습니다.JavaScript가 해석될 때 함수/코드를 실행하기 전에 해석기는 변수나 함수 선언을 검색하여 해당 값
var
의 메모리 공간을 설정합니다.따라서 실행하기 전에 변수'name'은 모든
undefined
함수를 실행하기 전에'undefined'의 값으로 메모리 공간에 저장됩니다.전체적인 현상을 승진이라고 부른다.(다른 블로그에서 자세히 설명)
만약 우리가
log
나let
를 사용하지 않는다면const
이 장면은 변수가 향상되지 않기 때문에 오류를 던질 것이다.결론:
var
기능 범위에 해당var
및 const
차단 범위let
와 var
는 가변적let
는 변하지 않는다const
를 사용하는 것은 let
이 아니라 const
이다. 앞의 두 가지는 차단 범위이기 때문에 블록 밖에서 접근할 수 없다. 코드를 더욱 안전하게 하기 때문에 블록 밖에서 값을 바꾸는 사람이 있으면 전체 코드의 기능에 영향을 주지 않는다.var
와const
사이에서도 가능한 한 let
를 사용해야 한다. 왜냐하면 이것은 코드를 더욱 읽을 수 있게 하기 때문이다. 왜냐하면 우리는 변수의 값이 코드에서 더욱 업데이트되는지 알고 있기 때문이다.이상 몇 가지는
const
,var
,let
부터 시작할 수 있습니다.Thank you for your time for reading the article, give a follow on my as I am documenting my learning
Reference
이 문제에 관하여(var, const를 배우고 6분 이내에 [JavaScript] 학습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sarveshkadam/learn-var-const-and-let-javascript-in-6-minutes-52g5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)