일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 자바스크립트
- JavaScript
- 멋사
- SS
- frontend
- array
- 반복문
- 국비지원
- 개발자
- react
- likelion
- useState
- 배열
- CSS
- 리액트
- 멋쟁이사자처럼
- 제주코딩베이스캠프
- 메소드체이닝
- 프론트엔드
- 화살표함수
- 타입스크립트
- 코딩
- 내일배움카드
- Let
- 비동기
- 네트워크
- 이벤트루프
- VAR
- 웹개발
- for문
- Today
- Total
목록프론트엔드 33
Ch.Covelope
![](http://i1.daumcdn.net/thumb/C250x250/?fname=https://blog.kakaocdn.net/dn/ss21k/btsvoVINbPE/BHWaz84VVfiuk33JEnIX11/img.png)
리코일(Recoil) ? 리코일은 2020년 Facebook 에서 만든 React 전용 상태 관리 라이브러리 이다. 이전에는 redux, mobx 그리고 React에 context등 다양한 상태관리 툴들이 존재한다. 기존 프로젝트도 redux로 되어있었고 처음 접했을 때는 많은 양에 코드들이 이해를 하는데 어려움을 주었지만 recoil은 이전 상태관리 라이브러리들과 다르게 러닝커브가 높지 않아 편하게 접근했던 거 같다. 리코일은 리액트 문법 친화적이며 get/set 인터페이스로 사용가능한 보일러 플레이트가 없는 API를 사용한다. 미들웨어 없이 비동기 처리가 가능하다 리코일 내부적으로 캐싱을 지원하며 동일한 atom 값에 대한 메모제이션된 값을 사용하여 성능적 이점이 있다. 간단하고 직관적인 API를 사..
![](http://i1.daumcdn.net/thumb/C250x250/?fname=https://blog.kakaocdn.net/dn/dfuVhm/btsvx4LkJTA/Ir8sauWls3FfyznIJrjxOK/img.webp)
리액트에서 함수형 컴포넌트 이전 클래스형 컴포넌트 사용시에는 상태를 지역변수 state에 정의하고 상태를 변경할 메소드 안에 setState 메소드를 넣어서 상태를 변경 했다. 그럼 왜 state변수를 직접 변경하지 않고 setState를 통해서 했는지는 해당 메소드를 사용해서 리액트 컴포넌트에 상태변경에 대해서 알려주고 리렌더링을 요청 하기 위해서다. 함수형 컴포넌트 리액트 함수형 컴포넌트에서는 useState 라는 React Hooks를 사용해서 상태를 관리한다. 해당 훅은 초기값을 받아서 [state, setState] 의 배열을 반환하며 [상태, 상태 변경 핸들러] 로 보면 된다. 함수형 컴포넌트는 렌더가 필요 할 때마다 함수를 재호출 하는데 렌더링은 곧 함수 호출이다. 함수가 재호출 되었을때 이..
![](http://i1.daumcdn.net/thumb/C250x250/?fname=https://blog.kakaocdn.net/dn/buwDwq/btsvmAquNUG/egIDFOzasTZsGHk6rRTuOk/img.png)
자바스크립트 엔진(javascript engine) JavaScript 엔진은 JavaScript 코드를 해석하고 실행하는 역할을 담당. 주요 JavaScript 엔진에는 V8(Chrome 및 Node.js에서 사용), SpiderMonkey(Firefox에서 사용), JavaScriptCore(Safari에서 사용), Chakra(이전 버전의 Microsoft Edge에서 사용)가 포함. 주요 역할 파서 (Parser): 자바스크립트 코드를 읽고 추상 구문 트리(Abstract Syntax Tree, AST)로 변환하는 역할을 한다. AST는 코드의 구조를 표현하며, 엔진은 이를 분석하여 실행에 필요한 정보를 추출한다. 인터프리터 (Interpreter): 변환된 AST를 실행 가능한 명령어로 해석하고..
![](http://i1.daumcdn.net/thumb/C250x250/?fname=https://blog.kakaocdn.net/dn/bc8Hbv/btrBIxHwaML/LocjkVIjELG5BKuAPeGuO0/img.png)
OOP - 객체지향 개념 정리 캡슐화 데이터와 데이터를 활용하는 함수를 캡슐 혹은 컨테이너 안에 두는 것을 의미하는데 이 경우 캡슐은 class를 의미한다. (함수와 데이터가 개념적으로 연관되어 있으면 캡슐화를 사용해서 코드를 개선할 수 있다.) 장점은 코드가 구조화되고 함수나 메서드가 인수를 취할 필요도 없다. (this키워드로 데이터에 직접 액세스 할 수 있기 때문) 캡슐화를 사용하여 표시할 클래스의 속성과 숨길 속성을 선택할 수 있다. 캡슐화는 어떻게 클래스 정보에 접근 혹은 수정하는지를 결정하는 권한을 제공한다. 캡슐화는 데이터 그리고 class 안에 있는 해당 데이터를 이용하는 함수를 잘 정리하는 방법론 상속 코드를 더 작은 단위로, class로 쪼개고 재사용할 수 있다. 클래스를 extends..
![](http://i1.daumcdn.net/thumb/C250x250/?fname=https://blog.kakaocdn.net/dn/KGpf0/btrzJ3a66Vx/ezu0GqSRuV4wECHmGAR8BK/img.jpg)
typeScript (타입스크립트) 는 자바스크립트(javaScript)의 슈퍼셋으로 오픈소스 프로그래밍 언어이다. MS - 마이크로소프트에서 개발 유지 관리하며 동적인 자바스크립트를 정적으로 사용할 수 있게 해 준다. 자바스크립트 동적 타입 언어로써 다른 정적 언어 타입보다 유연하지만 그만큼 안정성이 보장받지 못한다. 자바스크립트에서 타입을 제어함으로써 좀더 안정성 있는 개발을 할 수 있게 도와준다. 시작하기 1. node.js 설치 - https://nodejs.org/ko/ 2. 설치후 에디터 터미널에 npm install -g typescript 입력 3. tsconfig.json 만들기 (작업할 폴더에) 4. tsc -w 터미널에 입력 (ts 파일을 실시간으로 js파일로 컴파일 시켜준다.) 5...
![](http://i1.daumcdn.net/thumb/C250x250/?fname=https://blog.kakaocdn.net/dn/dqXHDe/btrtutTroHS/ykMwPGqKNuVWbV38mcqME0/img.png)
Object.create() ES5 문법 중 하나인 프로토타입 상속 기능으로 간단하게 사용 가능하다. let parents = { name: "Oh", age: 50}; let child = Object.create(parents); console.log(child) let grandChild = Object.create(child); console.log(grandChild) 상속할 부모(parents)에 속성 데이터를 할당하고 첫 번째 자식(child)에게 Object.create(parents); 을 할당하여 부모의 속성을 상속한다. 그리고 콘솔을 출력하면 {} 이렇게만 출력되는데 그건 child에 가 따로 속성 값을 부여하지 않아서 이다. 하지만 더보기 버튼을 누르면 [[Prototype]] : ..