JavaScript 기본 개념 정리
·
JavaScript
1. JavaScript란? 자바스크립트는 동적인 언어로, 인터프린터로 런타임시 코드를 한 줄씩 번역해서 실행을 한다. 그래서 동적타입(Dynamin Type)이라고 불린다. 여기서 정적타입은 대표적인 예로 C+, JAVA 등이 있으며, 이는 컴파일러가 필요하다. 컴파일러란 코드 작성 후 코드의 모든 데이터 타입을 정적으로 정한다. 그래서 컴파일러를 가지고 있는 프로그래밍 언어는 정적 타입(Static type)이다. Java Script에서 데이터 타입이 있는데 크게 두가지로 나뉜다. 원시 타입(primitive)과 객체 타입(object)으로 분류가 된다. 1-1 원시타입(primitive) 단일 데이터로, 선언을 하게 되면 Data(global)과 Stack(local)에 저장이 된다. 이는 식별자..
원시 값과 참조 값
·
JavaScript
1. 원시 값과 참조 값의 개념 - 원시 값 : 변경 불가능한 작은 데이터 조각. 예) String, Number, Boolean, undefined, null - 참조 값 : 변경 가능한 객체들 예) {name: 'Alice'}, ['apple', 'banana'], Object, Array, Function 2. 원시 값과 참조 값의 메모리 저장 방식 2-1. 원시 값의 메모리 저장 - 스택 메모리에 저장 - 불변성 : 데이터가 한번 생성이 되면 변경될 수 없는 성질 즉, 데이터가 불변하다면 원본 데이터는 수정이 되지 않고, 변경이 필요한 경우에는 새로운 데이터를 생성 - 자료의 크기와 생명 주기가 정해져 있음 2-1. 참조 값의 메모리 저장 - 힙 메모리에 저장 - 힙 메모리는 구조가 느슨하며, 크..
API & fetch
·
JavaScript
API(Application Programming Interface) 응용 프로그램 프로그래밍 인터페이스 응용프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. 아래와 같이 불러오게 되면 객체 형식으로 편지지 봉투를 불러오게 된다. let response = fetch("https://jsonplaceholder.typicode.com/posts").then((res) => console.log(res) ); // fetch에서 불러와서 API를 res에 담아서 res를 반환함 // 처음 결과를 추출하면 편지지가 있다면 편지봉투를 받은것이다. // f..
async & await
·
JavaScript
async // async function hello() { return 'hello'; } async function helloAsync() { return 'hello Async'; } console.log(hello()); // hello console.log(helloAsync()); // Promise {} // pending promise를 출력하면 그대로 출력이 됨 // async를 붙이면 자동으로 비동기처리가 됨 // async function hello() { return 'hello'; } async function helloAsync() { return 'hello Async'; // Promise resolve로 반환함 } helloAsync().then((res) => { cons..
Promise
·
JavaScript
비동기 작업이 가질 수 있는 3가지 상태 Pending(대기 상태) : 현재 비동기 상태가 진행 중이거나 진행 할 수 없는 문제가 생겼을 때 Fulfilled(성공, 이행) : 비동기 작업이 의도한대로 이행이 되었을 때 상태 Rejected(실패) : 비동기 작업이 모종의 이유로 실패했을 때의 상태 / 취소 되는 경우도 포함 성공하거나 실패하면 그대로 작업이 끝남. resolve 가 되었을 때 function isPositive(number, resolve, reject) { setTimeout(() => { if(typeof number === 'number') { // 성공한 로직 -> resolve resolve(number >= 0 ? '양수' : '음수') } else { // 실패 -> rej..
동기 & 비동기
·
JavaScript
동기 방식 자바스크립트는 코드가 작성된 순서대로 작업을 처리함 이전 작업이 진행 중 일 때는 다음 작업을 수행하지 않고 기다림 먼저 작성돈 코드를 먼저 다 실행하고 나서 뒤에 작성된 코드를 실행한다. -> 동기 방식의 처리 동기적 처리 방식의 문제점 동기적 처리의 단점은 하나의 작업이 너무 오래 걸리게 될 시, 모든 작업이 오래 걸리는 하나의 작업이 종료되기 전까지 모두 멈추기 때문에, 전반적인 흐름이 느려진다. 웹사이트에서 버튼 하나하나마다 30초씩 걸리게 된다. -> 동기 처리 방식의 문제점 멀티 쓰레드 코드를 실행하는 일꾼 Thread를 여러 개 사용하는 방식인 'MultiThread' 방식으로 작동시키면 이런 식으로 분할 작업 가능 오래 걸리는 일이 있어도 다른 일꾼 Thread에게 지시하면 되므..
오류확인자
'JavaScript' 카테고리의 글 목록 (8 Page)