JavaScript

[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)

분류 제목
RegExp JS - g 수정자 - 전역검색 (= 패턴일치 모든문자열 검색) (= g수정자 = 지수정자 = 전역수정자)
RegExp JS - m 수정자 - 여러줄 검사 (= 다중행검사) (= m수정자 = 엠수정자)
RegExp JS - [abc] 의미 - 대괄호안에 포함된 모든 개별 문자 찾기 (정규표현식 대괄호)
RegExp JS - [^abc] 의미 - 대괄호 안 문자 제외 (= 대괄호안 꺽쇠 정규표현식) ★ 소문자만 추출
RegExp JS - [0-9] 의미 - 대괄호안숫자포함 (= 대괄호안숫자 정규표현식)
RegExp JS - [^0-9] 의미 - 대괄호안숫자제외 (대괄호안꺽쇠숫자 정규표현식]
RegExp JS - (x|y) 의미 - x나 y 포함 검사 (소괄호안수직바, 정규표현식 괄호)
RegExp JS - . 메타문자 - 모든 단일문자 대응 (단, 개행, 행 종결자 제외) (미침표 정규표현식)
RegExp JS - \w 메타문자 - ( _ , az , AZ , 0-9 ) 문자대응 (정규표현식)
RegExp JS - \W 메타문자 - ( _ , az , AZ , 0-9 )외의 문자대응 (정규표현식)
RegExp JS - \d 메타문자 - (0-9) 숫자대응 (정규표현식)
RegExp JS - \D 메타문자 - 숫자아닌문자찾기 (= 비숫자문자찾기 = 역슬래시디의미)
RegExp JS - \s 메타문자 - 공백문자찾기
RegExp JS - \S 메타문자 - 공백문자가 아닌 문자 찾기 (= 공백아닌문자찾기) ※ 역슬래시 애스 메타문자
RegExp JS - \b 메타문자 - 단어시작/단어끝에서 일치항목찾기 (= \b메타문자)
21/89
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드 1
제작의뢰
Q&A 1
커뮤니티
웹유틸
회원센터
홈짱 PC버전 로그인