자바스크립트에는 총 7개의 데이터 타입을 가진다.
원시타입인 숫자, 문자열, 불리언, undefined, boolean, null, 심벌 그리고 객체타입.
이 중 문자열에 속한 표기법인 '템플릿 리터럴'을 조금 더 살펴보고자 한다.
기존의 문자열 표현에서 사용했던 이스케이프 시퀸스를 사용할 필요가 없어 코드를 더욱 직관적이고 편리하게 짤 수 있다. 다음은 템플릿 리터럴을 사용한 간단한 예제 코드이다.
let str1 = template
let str2 = literal
console.log(`편리한 ${str1} ${str2}사용법!`) // 편리한 template literal 사용법!
데이터 타입이 필요한 이유는 다음과 같다.
동적 타입 언어: 변수에 어떤 데이터 타입의 값이라도 자유롭게 할당할 수 있다.
JavaScript
그리고, Python
등이 이에 속한다.정적 타입 언어: 변수를 선언할 때 데이터 타입을 사전에 선언해야 한다.
C
와 Java
등이 있다.There is No Silver Bullet : 은탄환은 없다.
과거 개발자의 문화에 대해서 다루는 서적에서 접했던 문장이 이번 챕터에 인용되어 반가웠다.
'은탄환은 없다' 소프트웨어 개발의 복잡성을 일거에 해소할 마법(은탄환)같은 방법은 없다는 말이다. 전하고자 하는 메세지가 작은 울림을 주었던 문장이다.
요행 혹은 트릭 따위로 당장의 불편함과 당면의 문제는 해소된 것 처럼 보여도 사실은 그렇지 않은 경우가 대부분일 것이다. 조금 의역하여
본연에 집중하고 기초를 쌓아올려 정진하자 라는 새김으로 남긴다.
하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해서 하나의 값을 만든다.
연산자는 값으로 평가된 피연산자를 연산해 새로운 값을 만든다.
개발자의 의도와는 상관 없이 자바스크립트 엔진에 의해 타입이 자동으로 변환하기도 한다.
false = 0
, true = 1
과 같은 예가 있다. 이를 산술 연산자와 함께 사용하면 변환된 값을 적용해 계산한다.
동등 비교 ==
or !=
, 일치 비교 ===
or !==
.
동등비교는 상황에 따라 편리할 수도 있지만, 보다 엄격한 일치 비교 연산자를 사용하는 습관을 들이자!
사용법 : 조건식 ? 조건식 true값 : 조건식 false값