[JavaScript] 변수와 상수
변수란?
- 프로그램이 실행되는 도중에 변경되는 저장하기 위한 이름을 가진 저장소
-
변수 선언하기
// let 이름 = 값; let color = "skyblue"; console.log(color); // skyblue
-
중간에 값을 변경하는 경우
// let 이름 = 값; let color = "skyblue"; color = "yellow"; console.log(color); // skyblue
변수 명명 규칙
-
$
와_
를 제외한 기호는 사용하면 안됨let $name; let test_data; let & name; //불가능 let ^ test; //불가능
- 변수명의 맨 앞은 숫자를 사용하면 안됨
let 1test; //불가능 let test12; //가능
-
예약어는 변수로 사용할 수 없음
let let = 1; //에러!! let class = "class"; //에러!!
-
예약어(Reserved Words) : JavaScript에는 미리 정의된 키워드들
-
* 표시가 있는 단어는 ES6 이상에서 새롭게 사용되거나 예약된 키워드
abstract arguments boolean break byte case catch char class* const continue debugger default delete do double else enum* eval export* extends* false final finally float for function goto if implements import* in instanceof int interface let long native new null package private protected public return short static super* switch synchronized this throw throws transient true try typeof var void volatile while with yield
-
-
긴 변수명 표기법
-
변수가 길어지는 경우 띄어쓰기가 되지 않아 읽기가 불편한 일이 생김
let iscatordog;
-
카멜 표기법
-
단어를 차례대로 나열하면서 첫 단어를 제외한 각 단어의 첫 글자를 대문자로 작성하는 방법
let isCatOrDog;
-
카멜 표기법으로 변수명을 작성하게 되면, 훨씩 읽기 수월하고 좀 더 직관적으로 변수의 역할을 확인할 수 있게 됨
-
동적 타입과 typerof 연산
- C나 Java는 변수를 선언할 때, 앞에 char 나 string 처럼 해당 변수의 자료형을 먼저 작성해야 함
-
자바스크립트의 변수의 자료형은 어떻게 알 수 있지?
-
typeof 연산자를 사용하여 자료형을 알 수 있음
let nowType = "안녕하세요"; console.log(typeof nowType); // string
-
-
왜 자바스크립트 변수는 선언 시 자료형을 명시하지 않을까?
-
자바스크립트 변수는 값이 바뀔때마다
바뀐 값의 자료형
을 변수의 자료형으로 갖는동적 타입
을 지원하기 때문let nowType = "안녕하세요"; console.log(typeof nowType); // string nowType = 100; console.log(typeof nowType); // number
- 첫 번째 콘솔의 결과값은
string
이 출력되고, nowType 변수의 값이 100으로 변경된 이후의 결과값은number
가 출력됨
- 첫 번째 콘솔의 결과값은
- 자바스크립트 변수는 같은 변수에, 서로 다른 타입의 값을 저장하더라도, 아무런 에러 없이 유연하게 값과 함께 타입이 변하는 것을 알 수 있음
- 그렇기 때문에 자바스크립트는 별도로, 변수를 선언 시 앞에 자료형을 명시하지 않아도 됨
-
상수
- 상수란, 변화하지 않는 변수
- 상수를 선언할 땐 let 이 아닌
const
키워드를 통해 변수를 선언을 해야 함- let으로 선언된 변수는 중간에 값이 변경 될 수 있지만, const로 선언된 변수는 프로그램 실행 도중 변화할 수 없는 변수인 상수가 됨
상수 활용 예시
- 상수는 생일, 이름 등 정말 값이 절대 변경될 수 없다고 확신할 때, 다른 개발자들이 변수의 값을 변화시키는 것을 방지하기 위해 사용됨
-
상수는 값이 변경되지 않기 때문에 기억하기 어려운 값을 저장하는 예약어로도 사용
const GITHUB_URL = "<https://github.com/hbin12212>"; const HOMEPAGE = "<https://www.hyobb.com>"; let nowUrl = GITHUB_URL;
- 상수를 예약어로 활용할 때는 위와 같이 전부 대문자로 선언 후 사용
📚 이 글은 인프런 - 웹 프론트엔드를 위한 자바스크립트 첫걸음을 수강하며 정리한 내용입니다.
강의자: 효빈 (Hyobin)
※ 본 글은 개인 학습 목적으로 작성되었으며, 일부 내용은 강의 자료를 참고하였습니다.
댓글남기기