🚨 제가 이해해서 정리한 것은 틀릴 수 있단 걸 알기에 잘못된 부분 제보나 덧붙일 설명, 의견 공유는 언제나 환영합니다!
프로그램이 처리할 수 있는 자료의 형태
JS 에서 자료형은 두 가지로 구분되며 이 글에선 기본 자료형만 다룬다.
기본 자료형
- 숫자 자료형 (number)
- 문자열 자료형 (string)
- 논리 자료형 (boolean)
객체 자료형
- 객체 리터럴
- 함수
- 배열
- 그 이외 다수
숫자 형태로 이루어진 자료형
1, 23 같은 정수, 1.22 같은 실수 등 각종 숫자들
연산자
숫자 자료형은 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/) 으로 기본 사칙연산이 가능하며 연산자 우선순위 를 따른다. JS 는 나머지(%) 연산도 가능하다.
문자 형태로 이루어진 문자열 자료형
"어떤 문자든 문자 형태이면 문자열 자료형!", "23", "2+3", "" 빈 문자열도 문자열
문자열 연결 연산자
문자열 자료형은 + 로 문자열 끼리 이어줄 수 있다.
"문자열" + "문자열" = "문자열문자열"
문자 접근
문자열[index] 로 문자열의 해당 인덱스 문자를 선택할 수 있다.
"문자열"[0] = "문"index 는 0 부터 센다.
이스케이프 문자
표현할 수 없는 특수한 문자들이나 조합해서 사용하는 특수한 문자들은 앞에 역슬래시(\=\)를 사용하여 나타낼 수 있다.
"문자\"열" = "문자"열",\n : 개행(줄바꿈),\t : 수평 탭, ...
문자 길이
"문자열".length문자열의 length 속성으로 문자열의 길이를 구할 수 있다.❗ 추후 객체에서 속성에 대해 다루지만 문자열 자료형에서 속성을 다룰수 있는 이유는 JS 는 원형 문자열의 속성 조회나 원형의 문자열 호출이 발생하면 자동으로 문자열 원형을 래핑하고 메소드를 호출하거나 조회를 수행하기 때문이다.
참조 : String (MDN)
참(true) 과 거짓(false) 을 표현하는 자료형
값이 없거나 0, -0, null, false, NaN(Not a Number), undefined, ""(빈 문자열) 은 false, 그 이외는 true 가 된다.
값이 undefined, null 이 아닌 모든 객체도 조건문에선 true 가 된다.const a = new Boolean(false); if(a){// 조건문 a 가 참(true) 면 console.log("참"); // "참"을 출력 } 실행 결과: > 참
비교 연산자
연산자 설명 === 좌항과 우항이 같다. !== 좌항과 우항이 다르다. >, >=, <, <= 좌항과 우항의 크기를 비교. ❗ (===, !==)과 (==, !=)의 차이 : 둘 다 좌항과 우항이 같고 다른걸 비교하지만 전자는 값과 타입, 후자는 값만 비교한다.
논리 연산자
연산자 설명 && (논리곱 연산자) 좌항과 우항이 참이면 참, 둘 중에 하나라도 거짓이면 거짓 || (논리합 연산자) 좌항과 우항이 거짓이면 거짓, 둘 중에 하나라도 참이면 참 ! (부정 연산자) 값의 역을 취한다. 예) !true = false ❗ && (논리곱 연산자) 의 우선순위가 || (논리합 연산자) 보다 높다.
자료형을 확인하는 연산자로 typeof 연산자를 사용한다.
typeof(123) >number typeof(123 === "123") >false❗ typeof 는 괄호 없이 쓸 수 있는 단항 연산자지만 어떤 자료형을 검사하는지 명확하게 하기 위해 사용하는게 좋다.