• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Basic] JS - const (컨스트 = 콘스트) ★★★★★ - 재할당 불가한 변수선언

ECMAScript 2015 (= ES2015 = ES6) 때 도입

 

1.
변수 선언 키워드 2개 새로 도입
const , let

2.
const : 데이터 재할당 X (그외는 let과 유사) 
let     : 데이터 재할당 O.



[const 사용 장점]

 

・Security (보안) : 해커가 값 변경하는 걸 방지.

・Thread Safety : 프로세스 안의 여러 thread가 변수 접근할 때 안전.

・Reduce Human Mistakes : 개발자 실수를 줄여줌.

 


[참고]

JavaScript = ECMAScript + BOM(Browser Object Model) + DOM(Document Object Model)

※ 즉, JS = (1코어 + 2모델)로 구성된 웹언어

 

ECMAScript (이하 ES) 

JS 구성 코어(Core)스크립트 언어로써, 다양한 환경에서 운용될 수 있게 확장성이 뛰어난 웹언어.


더 자세한 정보는 여기 참고

 

const 예제

 

<p id="demo"></p>


<script>

try {

  const hz = '홈짱닷컴';

  hz = 'Homzzang.com';  // const로 앞서 정의된 변수라 에러 발생

  hz = hz + 'Homzzang.com';  // const로 앞서 정의된 변수라 에러 발생

}

catch (err) {

  document.getElementById("demo").innerHTML = err;

}

</script>

 

결과보기
TypeError: Assignment to constant variable.

 

 

const 특징1 :  블럭 경계 안에서만 유효

 

<p id="hz"></p>


<script>

var  x = "홈짱닷컴";

{  

  const x = "Homzzang.com";

}

document.getElementById("hz").innerHTML = x;

</script>

 

결과보기

홈짱닷컴

 

 

const 특징2 - 선언과 동시에 값이 할당돼야 함.

 

const hz = '홈짱닷컴';

 


 

[바람직 X]

const hz;

hz = '홈짱닷컴';

 

 

 

const 특징3 - 진짜 상수를 정의하는 건 아님.

 

1.
const 키워드는 상수 (a constant value)를 정의하는 것이 아니라,
값에 대한 항구적인 참조 자체 (a constant reference to a value)를 정의하는 것임.

2.
이런 성격때문에,
항구적인 기초값 (constant primitive values)을 변경할 순 없지만, 
항구적인 객체의 속성 (the properties of constant objects) 변경은 가능.

 

 

const 특징4 - 기초값 변경 불가

 

<p id="demo"></p>


<script>

try {

  const hz = '홈짱닷컴';

  hz = 'Homzzang.com';  // const로 앞서 정의된 변수라 에러 발생

  hz = hz + 'Homzzang.com';  // const로 앞서 정의된 변수라 에러 발생

}

catch (err) {

  document.getElementById("demo").innerHTML = err;

}

</script>

 

결과보기
TypeError: Assignment to constant variable.

 


 

PS.

 

엘리 님 (JS 3. var, let, const 차이) 강의

https://youtu.be/OCCpGh4ujb8

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Math JS - Math.min() 메서드 ★ - 최소값 (= 최솟값 = Math.min메서드 = 매스민메서드)
Math JS - Math.pow() 메서드 ★ - 승수 (= 거듭제곱 = pow메서드 = 매스포우메서드/매스파워메서…
Math JS - Math.random() 메서드 ★ - 랜덤값 (= 임의값 = Math.random메서드 = 매스랜…
Math JS - Math.round() 메서드 ★ - 일반반올림 (= 보통반올림 = Math.round메서드 매스라…
Math JS - Math.sin() 메서드 - 사인값
Math JS - Math.sqrt() 메서드 - 제곱근
Math JS - Math.tan() 메서드 - 탄젠트값
Date JS - Date 객체 - 날짜객체 (속성 + 메서드) 종류 ※Date()함수 = Date함수 = 데이트 함…
Date JS - constructor 속성 - 객체생성자함수 (날짜 경우)
Date JS - prototype 속성(날짜) - 사용자정의 속성/메서드 추가 (날짜객체경우 = 프로토타입)
Date JS - getDate() 메서드 ★ - 일자 얻기 (= getDate메서드 = 겟데이트)
Date JS - getDay() 메서드 - 요일 얻기 (예: 4) (= 요일 추출 = 요일 표시 = getDay메서…
Date JS - getFullYear() 메서드 - 년도 (= 4자리 전체년도얻기 = 겟풀이어)
Date JS - getHours() 메서드 - 시 (= 시얻기 = 시간얻기)
Date JS - getMilliseconds() 메서드 - 밀리초 (= 밀리세컨드)
Date JS - getMinutes() 메서드 - 분 (= 분얻기)
Date JS - getMonth() 메서드 - 월얻기 (= 달얻기 = 달월얻기 = getMonth메서드 = 겟먼스메…
Date JS - getSeconds() 메서드 - 초 얻기 (= 겟세컨즈메서드)
Date JS - getTime() 메서드 ★ - 시간 얻기 (= 타임스탬프얻기 = getTime메서드 = 겟타임메서…
Date JS - getTimezoneOffset() 메서드 - UTC시간과의 시차
11/67
목록
찾아주셔서 감사합니다. Since 2012