목록 웹 개발/JavaScript (19)
이롭게 현명하게
[var과 let 간의 차이가 발생하는 이유]자바스크립트 엔진은 코드를 실행하기 전에 변수 선언문, 함수선언문 등을 찾아 위로 끌어올리는 평가 과정을 거친다.이 과정에는 선언 단계와 초기화 단계가 있다.선언 단계를 통해서 스코프에 변수 식별자를 등록해 자바스크립트 엔진에 해당 변수의 존대를 알리고 초기화 단계에서 undefined라고 스코프에 등록된 변수 식별자에 값을 초기화하는 단계를 거친다. 선언 단계 : 자바스크립트 엔진에 존재를 알리기스코프에 변수 식별자를 등록해 자바스크립트 엔진에 해당 변수의 존재를 알린다.초기화 단계 : undefined로 초기화하기초기화 단계에서 undefined라고 스코프에 등록된 변수 식별자에 값을 초기화한다. 그런데 var는 이 과정을 코드 평가 과정에서 모두 이루어..
목차 동기와 비동기 싱글 스레드 언어 자바스크립트 엔진이란? 비동기 실행과정 https://devyihyun.tistory.com/148 [동기와 비동기] 쿠팡의 과일 구매 목록이다. 웹페이지에 과일 목록이 보이기까지 1분이 걸린다고 하자 동기적으로 실행했다면 목록이 보이기까지 1분 동안 화면 스크롤, 버튼 클릭 등 아무것도 할 수 없다. 현재 실행하고 있는 함수가 있기 때문에 다른 일을 할 수 없어 다른 일들이 블록 된다. 즉, 브라우저에서 오래 걸리는 작업이 실행될 경우, 웹페이지의 UI는 멈춰버리고 사용자는 어떤 작업도 할 수 없다. 그렇기 때문에 비동기식으로 과일 목록을 불러와야 한다. 동기와 비동기, 동기는 하나씩 실행되고 비동기는 동시에 실행된다고 흔히들 알고 있다. 하지만 그렇지 않다. 비동..
목차 1. 동기 비동기 개념 이해 동기와 비동기란? 동기와 비동기 차이 언제 쓰이는가? 비동기를 사용하는 이유 2. 동기 비동기 원리 동기, 비동기의 개념 정확히 이해해야 프로그램 개발 시 적절히 활용할 수 있다. 자바스크립트로 프로그램 개발 시 한 번쯤은 들어봤거나 사용해 본 경험이 있을 것이다. 동기 : 답변을 기다린다. 비동기 : 답변을 기다리지 않는다. 동시에 실행된다. 동기는 답변을 기다리는 것이고 비동기는 동시에 실행한다거나 답변을 기다리지 않는다고 알고 있을 것이다. 하지만 그렇지 않다. 택배 기사님이 물건을 배송한다. 기사님이 배송해야 할 물품은 3개이다. 3개의 집에 택배를 배송해야 한다. 이때 동식과 비동기식의 방식이 나타난다. [ 동기식 ] 택배를 1호에 가져다주기 위해 1호에서 벨을..
목차 함수의 기초 변수와 함수의 유효 범위 매개변수와 인수 미리 정의된 전역 함수 [함수의 기초] 함수(function) : 하나의 특별한 목적이 작업을 수행하도록 설계된 독립적인 블록 필요할때 마다 호출하여 해당 작업을 반복해서 수행할 수 있다. function addNum(x, y) { return x + y; } console.log(addNum(2, 3)); 자바스크립트에서는 함수도 하나의 타입(datatype)이다. 함수를 변수에 대입하거나 함수에 프로퍼티를 지정하는 것도 가능하다. 자바스크립트 함수는 다른 함수 내에 중첩되어 정의될 수 있다. function 함수이름(매개변수1, 매개변수 2,...) { 함수가 호출되었을 때 실행하고자 하는 실행문; } 함수 이름 (function name) ..
목차 배열 기초 배열 활용 [배열 기초] 배열(array) : 이름과 인덱스로 참조되는 정렬된 값의 집합 배열 요소 (array element) : 배열을 구성하는 각각의 값 인덱스(index) : 배열에서의 위치를 가리키는 숫자 배열 요소의 타입이 고정되어 있지 않아 같은 배여레 있는 배열 요소끼리의 타입이 서로 다를 수도 있다. 배열 요소의 인덱스가 연속적이지 않아도 되며, 따라서 특정 배열 요소가 비어 있을 수도 있다. 자바스크립트에서 배열은 Array객체로 다뤄진다. 1. var arr = [배열요소1, 배열요소2,...]; // 배열 리터럴을 이용하는 방법 2. var arr = Array(배열요소1, 배열요소2,...); // Array 객체의 생성자를 이용하는 방법 3. var arr = n..
목차 조건문 반복문 기타 제어문 * 제어문 : 프로그램의 순차적인 흐름을 제어해야 할 때 사용하는 실행문 [조건문] if 문 if / else 문 if / else if / else 문 switch 문 삼항 연산자 // 1. if 문 if(표현식){ 실행문 } // 2. if / else 문 if(표현식){ 실행문 } else{ 실행문 } // 3. if / else if / else 문 if(표현식){ 실행문 } else if(표현식){ 실행문 } else{ 실행문 } // 4. switch 문 switch (조건 값) { case 값1: 조건 값이 값1일 때 실행하고자 하는 실행문; break; case 값2: 조건 값이 값2일 때 실행하고자 하는 실행문; break; ... default: 조건 값..