프로그래머스 풀스택 38
posted on 21 Oct 2024 under category programmers in series programmers
프론트엔드 기초: React + TypeScript(1)
💫 브라우저와 개발자도구
!+Tab
을 해주면 자동적으로 기본 형태를 입력해줌F12
를 통해 개발자 도구를 확인하고, 콘솔도 확인할 수 있음!💫 브라우저와 디버깅
이슈 : 개발 중에 발생하는 예기치 못한 상황
이슈 👉 분석 👉 해결👏
여기서 분석 과정을 디버깅이라고 함!
console.log
console.dir
💫 JavaScript언어의 특징 - 인터프리터 언어
✨ 목표 : 기계가 이해해야 함!
✨ 방법 : 개발 언어마다, 처리되는 방식 다름!
🙎🏻사람이 이해한 언어로 작성되면
🤖기계어로 번역되어야 함!!
컴파일러 언어
사람이 코드를 작성 👉 기계어로 변환 👉 기계에서 실행
인터프리터(Interpreter) 언어
사람이 코드를 작성 👉 기계에서 실행 👉 변환하며 진행
💫 JavaScript언어의 특징 - 그 외
변수의 타입 : 동적 타입 언어
함수의 특징 : 일급객체
상속의 형태 : 프로토타입 기반의 상속
패러다임 지원 : 함수형 프로그래밍
명령형 프로그래밍
객체지향 프로그래밍
…
💫 JavaScript 표준화 - JavaScript의 탄생배경과 ECMAScript
자바스크립트의 탄생과 표준화 이유!
따라서 표준화 정책을 고려한 개발이 필요함
ECMAScript와 브라우저
브라우저 지원이 안될 경우?
💫 변수란?
데이터를 처리하기 위해 기억해야 함!
메모리의 주소값의 별칭, 변수
변수란,
데이터를 담아둔 메모리의 주소를 쉽게 식별하기 위해 붙인 이름
자바스크립트의 변수 syntax
💫 변수 생성 방법과 호이스팅
3단계를 거쳐 생성되는 변수
평가 단계 + 실행 단계
💫 변수 생성 3단계는 키워드별로 다르게 동작함 (var / const, let )
var 키워드
var 키워드 - 호이스팅? Hoisting
var 키워드 - 단점
var 키워드 - 단점 - 전역변수화
그러므로 var의 사용을 지양하고 const/let을 사용하자!
const, let 키워드
변수에 한정적으로 접근이 가능하므로,
예측 가능한 범위 내에서 변수 변경이 일어남
💫 변수 실습
💫 변수 네이밍 컨벤션(규칙)
Camel Case : getNumber
Snake Case : get_number
단어 사이에 _(언더바) 추가
Pascal Case : GetNumber
Constant Case : GET_NUMBER
단어 사이에 _(언더바) 추가. 상수 변수 사용할때만.
💫 자료형이란?
데이터의 종류 - 자료형
컴퓨터에게 데이터의 종류를 지정, 알려주어서,
데이터 종류에 맞게 적합한 로직처리를 할 수 있게 해주어야 함
여기서 말하는 데이터의 종류를 데이터 타입, 자료형이라고 함
언어별로 지원하는 데이터 타입은 모두 다름
자바스크립트의 데이터 타입 - 원시 타입
자바스크립트의 데이터 타입 - 객체 타입
💫 Number Type, BigInt Type (infinity, NaN)
Number Type - 배정밀도 64비트 부동소수점(IEEE 754)형식
숫자에는 정수, 실수가 존재
BigInt Type
임의 정밀도로 정수를 나타낼 수 있는 JavaScript 숫자 원시 값
💫 String Type, Boolean Type
String Type
텍스트 데이터 표현
String Type - 표기법
따옴표나 쌍따옴표, 백팃(backtick)으로 감싸서 문자열임을 표현
템플릿 리터럴 표기법(``)
Boolean Type
논리적 데이터 유형
💫 undefined와 null Type, Symbol Type
Undefined Type
선언 단계
변수 객체 foo
초기화 단계
변수 객체 foo = undefined
할당 단계
변수 객체 foo = 1
Null Type
값이 없다는 것을 의도적으로 표현할 때 null 사용
Symbol Type
전용 객체 속성의 키로 사용
💫 Reference type
객체 타입
객체 타입, Object type, Reference type
객체 타입 - mutable
변경 가능한 값(mutable) : 객체의 속성을 변경, 추가, 삭제 가능
여러 형태의 객체 타입
💫 동작 타입 언어
자바스크립트는 동적 타입 언어
의도적으로 타입을 변환할 수도 있지만, 의도와 상관없이 변경되기도 함
명시적 타입 변환
암묵적 타입 변환
명시적 타입 변환
원시 래퍼 객체를 활용해 개발자가 의도적으로 타입 변경 가능
값.toString()
문자열 타입으로 변환
Number(값)
숫자 타입으로 변환
Boolean(값)
불리언 타입으로 변환
암묵적 타입 변환
개발자가 의도 X, 타입이 변경될 때가 있음
값 + ""
문자열 타입으로 변환
값 * 1
숫자 타입으로 변환
!!값
불리언 타입으로 변환
💫 연산자 - 단항 연산자, 산술연산자
연산자란?
연산자의 종류
하나의 피연산자만 사용
두 개의 숫자 값(리터럴 또는 변수)을 피연산자로 받아서 하나의 숫자 값을 반환
1개의 피연산자를 산술 연산하여 숫자값 반환.
(++피연산자)
(피연산자++)
💫 response 포맷 확인하기 (카멜?! 스네이크?!)
💫 끝날때 까지 끝난 게 아님!!! (feat. 코드 퀄리티)
Y 일을 통해 명확히 알게 되었거나 이해한 부분(한 일)에 대해 정리 :
코드의 고도화!
W 배운 점과 시사점 :
T 응용하여 배운 것을 어디에 어떻게 적용할지:
API와 코드를 일치하는 작업과 고도화를 통해 백엔드와 프론트엔드 사이의 작업이 원할하게 가능함!