책 : 러닝 자바스크립트 : ES6로 입문하는 웹 개발
자바스크립트에서는 리터럴과 상수 그리고 변수를 알아야 한다.
1) 변수(Variable)
- 이름이 붙은 값.
- 언제든지 변경 가능.
- let number = 22; 와 같이 선언(let은 ES6에서 생성됨. 그 전에는 var만 사용 가능)
변수 number를 선언(즉, 생성)하고 초기값을 할당(22)하는 2가지를 나타냄.
- 초기값을 반드시 지정해야 하는것은 아니지만, 할당하지 않으면 undefined가 출력.
- 다중 선언 가능. let num01 = 11 , num02 = 22, num03;
- 값이 수시로 변할 상황에서 변수를 사용한다.
2) 상수(Constant)
- const 키워드 사용. Ex) const ROOM_NUMBER = 1004;
- ES6에서 새로 생성됨.
- 변수와 마찮가지로 값을 할당할 수 있지만, 한 번 할당된 값은 변경이 불가.
- 상수 이름은 대문자와 밑줄만 사용해야 한 눈에 상수인지 파악. 가독성이 높음.
- 상황에 따라 다르지만, 될 수 있으면 변수보다 상수를 사용하는 것이 바람직함.
- 한 번 정해진 값이 변하지 않을 경우 상수로 선언한다.
3) 식별자(Identifier) 규칙
- 글자, 달러 기호 $ , 그리고 밑줄 _ 로만 시작해야 함(숫자 시작 불가)
- 글자, 달러 기호 $ , 그리고 밑줄 _ , 숫자로만 쓸 수 있음.
- 예약어(또는 키워드)는 쓸 수 없음.
- 카멜 케이스(Camel Case) : 두 단어 이상일때, 첫 글자는 대문자로 작성.
이러한 형태가 낙타의 혹처럼 보인다해서 이렇게 부른다. examBestScore 이런식으로..
- 스네이크 케이스(Snake Case) : 뱀처럼 _를 쓰는 방식. exam_best_score 이런식으로..
- 대문자로 시작은 안 됨.
4) 리터럴(Literal)
- 위 num01... 변수에 선언한 11 22 33이 모두 리터럴.
- 리터럴이란 값을 프로그램 안에서 직접 지정한다는 의미이다.
- 리터럴과 식별자의 차이.
let num01 = 11
에서 num01은 변수를 가리키는 식별자, 11은 숫자형 리터럴이자 num01의 값. 따옴표를 통해 구별함.
5) 원시 타입(Primitive)과 객체(Object)
- 원시 타입의 종류 : 숫자, 문자열, 불리언, null, undefined, Symbol(심볼)
- 원시 타입은 불변함. 숫자는 항상 같은 숫자. 문자열도 항상. 같음.
- 객체 : 원시 값과 달리 객체는 여러 가지 형태와 값을 갖을 수 있음
- 자바스크립트에서 내장된 객체 종류도 많다 : Array, Date, Map, Set ...
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
<숫자>
- 자바스크립트에서는 숫자형 데이터 타입이 하나밖에 존재하지 않음. 바로, 더블(Double) 형식.
<문자열>
- 자바스크립트 문자열은 유니코드 텍스트.
- 자바스크립트 문자열 리터럴은 작은 따옴표, 큰 따옴표, 백틱(Backtick)을 사용.
- 이스케이프 문자. 문자열안에 따옴표 쓰거나... \를(역슬레시)를 써줘야 문자열로 인식
- 문자열은 작은, 큰 따옴표 모두 가능하지만, 큰 따옴표를 추천함.
- 특수문자 : \n \r \t \' \" \` \$ \\ 등등...
<템플릿 문자열>
- 문자열 병합 : + 기호로 숫자 등을 문자열으로 만들어 사용.
- ES6 이전에는 문자열 병합뿐이었지만, ES6에서는 문자열 템플릿이라는 기능이 도입.
- 문자열 템플릿은 문자열 채우기라고도 부름.
- 문자열 템플릿은 문자열의 정해진 위치에 값을 채워 넣는 간편한 방법.
- 문자열 템플릿은 큰, 작은 따옴표를 사용하지 않고 백틱을 사용함.
(기존. 문자열 병합)
let roomNumber = 112;
const message = "방 번호는 " + roomNumber + "입니다";
(ES6. 문자열 템플릿)
let roomNumber = 112;
const message = "방 번호는 ${roomNumber}입니다";
- 문자열 템플릿에서는 달러 기호가 특수문자가 됨.
- 달러 기호 다음 중괄호로 감싼 값이 문자열에 곧바로 삽입됨.
<숫자와 문자열 결합>
const num1 = 5 +'50' : 550 // 5가 문자열로 바뀜.
const num2 = 5 * '50' : 250 // 50이 숫자로 바뀜.
<불리언>
- true 또는 false 두 값만 갖는 데이터 타입.
- 불리언을 사용할 때는 따옴표 안에 넣지 말것. 따옴표 "false" 또는 "true"는 그냥 문자열.
<Symbol>
- ES6에서 새롭게 도입된 데이터 타입.
- 심볼은 항상 유일하며 다른 어떤 심볼과도 일치하지 않음(객체와 유사)
<null & undefined>
- null이 갖을 수 있는 값은 null 하나. 또한 undefined가 갖을 수 있는 값도 undefined 하나로 동일.
- 또한, 둘 모두 존재하지 않는다는 것을 나타냄.
- null은 프로그래머에게 허용된 데이터 타입. undefined는 자바스크립트 자체에서 사용한다.
- undefined를 할당하기보다, 불확실한 변수 값, 적용할 수 없는 경우 null을 선택하도록.
- 변수를 선언만하고, 값을 할당하지 않으면 undefined가 기본적으로 저장됨.
<객체>
- 원시 타입은 단 하나의 값만 나타낼 수 있고, 불변하지만
- 객체는 여러 가지 값이나 복잡한 다수의 값을 나타낼 수 있으며, 변할 수도 있다.
- 빈 객체 생성 : const obj = {};
'개발 > 자바스크립트' 카테고리의 다른 글
[자바스크립트] for .. in 루프 (0) | 2017.09.14 |
---|---|
[자바스크립트] 데이터 타입 변환하기~ (0) | 2017.09.14 |
textarea에 글 내용 길이 구하기 & 빈 값인지 체크하기 (0) | 2017.08.22 |
자바스크립트 변수를 form 태그의 value로 어떻게 보내나요?? (1) | 2017.07.24 |
[Javascript] for in 반복문 (0) | 2016.09.16 |