JS 기본 정리 01 (식별자, 자료 타입, 조건문, 반복문)
도깨비젤리
·2021. 4. 30. 00:22
- 식별자 : 변수를 구분할 수 있는 변수명을 뜻한다.
- 식별자의 주요한 특징
- 반드시 문자, $, _로 시작해야한다
- 대소문자를 구분하며, 클래스명 외에는 모두 소문자로 시작
- 식별자로 예약어를 사용할 수 없다.
- 변수 선언 키워드
- let
- 재할당이 가능하다
- 변수의 재선언이 안된다
- 블록스코프 단위로 동작한다
- const
- 재할당 할 수 없는 변수 선언 시 사용
- 변수 재선언 불가능
- 블록 스코프 단위 동작
- let
var라는 선언 키워드도 있는데, ES6부터는 사용하지 않고 있다
선언 (Declaration)
- 변수를 생성하는 행위 또는 시점
let foo
할당 (Assignment)
- 선언된 변수에 값을 저장하는 행위 또는 시점
foo = 11
초기화 (Initialization)
- 선언된 변수에 처음으로 값을 저장하는 행위 또는 시점
let bar = 0
- 재할당을 할 수 없다(const) : 한번 선언하면 다시 값을 바꿀 수 없다
- 재선언을 할 수 없다(let,const) : 같은 이름의 변수로 만들 수 없다.
- var 키워드로 만든 변수는 재선언과 재할당이 모두 가능하지만 변수를 선언 이전에 참조할 수 있는 현상인 (hoisting) 때문에 전혀 사용하지 않는다.
JS의 데이터 타입 종류
- 원시타입 : 객체가 아닌 타입들을 말한다
- 특징 : 변수에 해당 타입의 값이 담기고, 다른 변수에 복사할 때 실제 값이 복사된다 (value)
- 종류 : Number,String,Boolean,undefined,null,Symbol
- 참조타입 : 객체 타입의 자료형을 말한다
- 특징 : 변수에 해당 객체의 참조 값이 담긴다, 다른 변수에 복사할 때 참조 값이 복사된다(reference)
- 종류 : Array, Function
타입별 상세 정보
- 숫자 (Number) 타입o 부동소수점 형식을 따름
- ex) foo / 1004 => NaN
- 참고) NaN (Not-A-Number) -> 계산 불가능한 경우 반환되는 값
- 정수, 실수 구분 없는 하나의 숫자 타입
- 문자열 (String) 타입
- 16비트 유니코드 문자의 집합
- 템플릿 리터럴 (Template Literal)
- 따옴표 대신 backtick()으로 표현
${ expression }
형태로 표현식 삽입 가능- ES6부터 지원
- 작은따옴표 또는 큰따옴표 모두 가능
- 텍스트 데이터를 나타내는 타입
- undefined
- 변수 선언 이후 직접 값을 할당하지 않으면 자동으로 undefined가 할당됨
- 변수의 값이 없음을 나타내는 데이터 타입
- null
- 변수의 값이 없음을 의도적으로 표현할 때 사용하는 데이터 타입
- null 타입은 ECMA 명세의 원시 타입의 정의에 따라 원시 타입에 속하지만, typeof 연산자의 결과는 객체(object)로 표현
- typeof 연산자 : 자료형 평가를 위한 연산자
- 불리언 (Boolean) 타입
- true 또는 false로 표현
- 변수가 다음과 같을 때 자동으로 형변환이 된다 : 0,-0,NaN (거짓) / 빈 문자열 (거짓) / Object type (항상 참)
- 논리적 참 또는 거짓을 나타내는 타입
연산자
- ++ : 피연산자의 값을 1 증가
- -- : 피연산자의 값을 1 감소
--> Python과 마찬가지로 += , -=도 동일하게 작동 (뿐만 아니라, Airbnb Style Guide에서는 이를 권장하고 있다)
- == : 타입을 자동으로 일치 시킨 후 비교 ( 동등 비교 연산자)
- === : 엄격한 비교가 시행됨 ( 암묵적 타입 변환 X)
- && : and
- || : or
- ! : not
- 삼항 연산자 : 세개의 피연산자를 사용하여 조건에 맞게 값을 반환하는 연산자
질의문 질의가 참일때 출력 질의가 거짓일때 출력
console.log(const Lorem = a>b ? ' a is bigger than b' : 'b is bigger than a')
조건문
- if statement
- 조건 표현식의 결과값을 Boolean 타입으로 변환 후 참/거짓을 판단
- 조건은 소괄호(condition)에 작성 실행할 코드는 중괄호에 작성
- 블록 스코프를 생성한다
if(condition){ //do smt }else if(condition){ //do smt }else{ //do smt }
- switch statement
- 조건 표현식의 결과 값이 어느 값(case)에 해당하는지 판별
- 주로 특정 변수의 값에 따라 조건을 분기할 때 활용한다.
- break 및 default는 선택적으로 사용 가능
- break문이 없는 경우 break문을 만나거나 default문을 실행할 때까지 다음 조건문 실행
switch(expression){ //expression의 결과가 '1'일떄 실행 case '1' { //do smt } case '2':{ //do smt break // 이거 없으면 멈추지 않고 쭉 내려간다 } default { //do smt } }
- break 구문이 없으면 default를 만날때까지 계속 밑으로 내려가면서 실행된다.
반복문
- while : 조건문을 소괄호에 작성. 실행 코드는 중괄호에 작성. 블록 스코프 생성
- for : 세미 콜론으로 구분되는 세부분으로 작성
- initialization
- 최초 1회만 실행되는 부분
- condition
- 매 반복 시행 전 평가되는 부분
- expression
- 매 반복 시행 이후 평가되는 부분
- 블록 스코프 생성
for (let i = 0 ; i<6; i++){ //do smt }
- initialization
- for in
- 객체(object)의 속성을 순회할 때 사용
- 블록스코프 생성
for (variable in object){ //do smt }
- for of
- 반복 가능한 객체(object) 를 순회하면서 값을 꺼낼 때 사용
- 배열의 원소에 접근한다
- 블록 스코프 생성
for (variable of iterables){ // do smt }
'TIL' 카테고리의 다른 글
(21.07.21) React && firebase로 클론 코딩 완료 (0) | 2021.07.21 |
---|---|
(21.07.19) CRA로 만든 react의 webpack 수정하기 (with CRACO) (2) | 2021.07.19 |
(21.07.18) React-native bulid, Image 컴포넌트 (0) | 2021.07.18 |
(21.07.16) cmd tree / RN styled-component의 타입 패키지 (0) | 2021.07.16 |
(21.07.15) d.ts 파일이란?? (0) | 2021.07.15 |