하나의 숫자타입만 존재하고 모든 수를 실수로 처리한다.
C,java에서 int, long, float, double을 사용해 구분했는데 JS에선 구분 x
2진수, 8진수, 16진수 표현 데이터 타입은 제공x
var binary = 0b01000001;
var octal = 0o101;
var hex = 0x41;
console.log(binary); //65
console.log(octal); //65
console.log(hex); //65
console.log(binary === octal); //true
console.log(octal === hex); //true
추가로 세가지 특별한 값을 가짐
- Infinity : 양의 무한대
- -Infinity : 음의 무한대
- NaN :산술 연산 불가
JS는 대소문자를 구분하기 때문에 NaN을 NAN,Nan,nan등 다른 표기로 표현하면 에러 발생
작은따옴표(''), 큰따옴표(""), 백틱(``)으로 텍스트를 감싸서 사용.
만약 작은따옴표, 큰따옴표를 출력하고 싶으면
string = "'작은따옴표'";
string = '"큰따옴표"';
이스케이프 시퀀스를 사용하지 않아도 줄바꿈 허용 & 공백 있는 그대로 적용
var template = `<ul>
<li><a href="#">Home</a></li>
</ul>`;
console.log(template);
var first = 'ah';
var last = 'yes';
console.log('My name is ' + first + ' ' + last + ' ');
//ES6: 표현식 삽입
console.log(`My name is ${first} ${last}.`);
${ }는 표현식의 평가 결과가 문자열이 아니어도 문자열로 타입 강제변환되서 삽입된다. 반드시 템블릿 리터럴 내에서 사용해야함.
논리적 참, 거짓을 나타내는 true와 false
var 키워드로 선언안 변수가 암묵적으로 undefined로 초기화 됨
NULL, Null등 혼용 불가
null은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용.
변수 초기화시 undefined를 의도적으로 할당하지 말고 null을 사용할것.