Frontend
-
[React] promise, async awaitFrontend/React 2022. 9. 6. 13:29
promise 1. Promise는 무엇인가? JavaScript(React)에서 Promise는 비동기 처리에 활용되는 객체이다. 여기서 비동기 처리란 line by line 순차적으로 특정 코드의 실행을 끝까지 기다리지 않고 다음 코드를 선제적으로 처리하는 것을 의미한다. 2. Promise의 역할 Promise는 주로 웹 서비스 구현 시 원활한 데이터 통신을 위해 활용된다. 더욱 구체적으로 말씀드리자면, 서버에 데이터를 요청했을 때, 데이터가 모두 받아오기 전에 웹에 출력하려고 할 때 발생하는 오류를 방지하기 위해 활용된다. 즉, Promise 객체는 A, B, C 로직이 있을 때, A 로직이 모두 완료될 때까지 B, C 로직을 대기시키지 않고 실행시키는 데 주로 활용된다. 3. Promise의 상..
-
[React] 부모 자식 컴포넌트의 흐름Frontend/React 2022. 7. 25. 13:37
부모 컴포넌트 A와 자식 컴포넌트 B가 있습니다. 컴포넌트 A는 state로 {name: "르탄이"}를 가지고 있고, 자식인 컴포넌트 B에게 name 값을 넘겨주었습니다. 컴포넌트 B는 받아온 name을 화면에 뿌려주고 있습니다. 컴포넌트 A의 state가 {name: "진도사우르스"}로 바뀌었을 때, 어떤 과정을 거쳐 바뀐 값을 화면에 보여주는 지 라이프 사이클 흐름을 그려볼까요? 컴포넌트란 리액트에서 컴포넌트란 화면을 구성하는 하나의 단위이다. // App 컴포넌트 function App (){ return } 하나의 블럭 개념인데 즉 그냥 함수이다. 리액트에서 컴포넌트를 만든다라는 건 return값으로 html을 반환하는 함수를 뜻한다. ### 흐름 설명 컴포넌트 A에서 “르탄이”라는 state를 ..
-
호이스팅과 TDZ는 무엇일까 ?Frontend/JavaScript 2022. 7. 21. 18:02
스코프, 호이스팅, TDZ 스코프 자바스크립트의 스코프는 함수 레벨 스코프를 따른다. 같은 함수 레벨에 존재하면 값을 참조할 수 있다는 건데 ES6에서 let 키워드가 도입되면서 블록 레벨 스코프를 사용할 수 있게 됐다. 전역 스코프 - 어디서든 참조 가능 전역 변수 - 전역 스코프를 갖는 전역 변수 - 어디서든 참조 가능 지역 스코프 - 함수 자신과 하위 함수에서만 참조 가능 지역 변수 - 지역 스코프를 갖는 지역 변수 - 함수 내에서 선언된 변수로 해당 함수와 해당 함수의 하위 함수에서 참조 가능 암묵적 전역 변수 - 선언하지 않은 변수에 값을 할당하면 전역 객체의 프로퍼티가 되어 전역 변수처럼 동작한다. - 하지만 변수 선언이 없었기 때문에 호이스팅은 발생하지 않는다. (variable = 1) =..
-
JavaScript 객체와 불변성이란 ?Frontend/JavaScript 2022. 7. 21. 17:49
기본형 데이터와 참조형 데이터 데이터 타입은 값의 종류를 말한다. 자바스크립트의 모든 값은 데이터 타입을 갖는다. 7개의 데이터 타입을 제공하며, 7개의 데이터 타입은 기본형(원시형) 타입, 객체 타입으로 분류할 수 있다. 구분 데이터 타입 설명 기본형(원시형) 타입 숫자(number) 타입 숫자. 정수와 실수 구분없이 하나의 숫자 타입만 존재 문자열(string) 타입 문자열 불리언(boolean) 타입 논리적 참(ture)과 거짓(false) undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌(symbol) 타입 ES6에서 추가된 7번째 타입 객체 타입 객체, 함수, 배열 등 기본(원시)형에는 Number..
-
JavaScript의 자료형과 JavaScript만의 특성은 무엇일까 ?Frontend/JavaScript 2022. 7. 20. 03:24
느슨한 타입(loosely typed)의 동적(dynamic) 언어 정적타입 - C나 자바 같은 정적 타입 언어는 변수를 선언할 떄 변수에 할당할 수 있는 값의 종류, 즉 데이터 타입을 사전에 선언해야 한다. 이를 명시적 타입 선언이라 한다. - 정적 타입 언어는 변수의 타입을 변경 할 수 없으며, 변수에 선언한 타입에 맞는 값만 할당 할 수 있다. - 정적 타입 언어는 컴파일 시점에 타입 체크(선언한 데이터 타입에 맞는 값을 할당했는지 검사하는 처리)를 수행한다. - 만약 타입 체크를 통과하지 못했다면 에러를 발생시키고 프로그램의 실행 자체를 막는다. 이를 통해 타입의 일관성을 강제함으로써 더욱 안정적인 코드의 구현을 통해 런타임에 발생하는 에러를 줄인다. 대표적인 정적 타입 언어로 C, C++, Ja..