JavaScript/JS 15

자바스크립트 구조분해할당(배열과 객체)

구조분해할당 (Destruncturing assignment) 구조분해할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식 1. 배열 구조분해 배열은 순서가 들어있다. 그래서 1번째에 넣은 값은 첫번째에, 두번째에 넣은 값은 두번째에 차례로 들어간다. let [x,y] = [1,2] console.log(x); // 1 console.log(y); // 2 아래와 같이 순서대로 들어가서 x=1, y=2 가 들어간다. users라는 이름의 배열이 있다. user1, user2, user3라는 이름의 변수를 대괄호를 묶어서 선언하고 users 배열을 할당했다. let users = ['Mike', 'Tom', 'Jane']; let [user1, user2, user3] =..

JavaScript/JS 2023.02.25

자바스크립트(JS) - 생성자 함수

개발을 하다보면 이렇게 비슷한 객체를 여러개 만들어야 하는 상황이 생긴다. (회원정보, 상품..) 이럴 때 사용하는 것이 생성자 함수!! 1. 첫글자는 대문자로 만든다 2. new 연산자를 사용해서 호출한다. ➡️ 순식간에 비슷한 객체 3개를 만들었다. 생성자함수는 붕어빵 툴이나 와플팬이라고 생각하면 된다. 필요한 재료를 넣어 찍어내면 된다. ➡️ 여기에서 필요한 재료는 name, age였고 생성되는 객체들을 와플이라고 생각하면 된다. 장점: 일일이 객체리터럴을 사용해서 만드는것보다 훨씬 빠르고 일관성있게 만들수 있다. (내용이 변경되면 생성자 함수안의 내용만 변경해주면 된다) 3. 메소드 추가하기 🎀 실습해보기 🎀 Item이라는 생성자함수를 만든다. (붕어빵틀) 인자로 title과 price를 받는다 ..

JavaScript/JS 2023.02.20

자바스크립트 클로저(JavaScript Closure)

📌 클로저 사전지식 1️⃣ 실행컨텍스트 코드를 실행하는데 필요한 환경을 제공하는 객체 모든 자바스크립트의 모든것은 실행컨텍스트 내에서 발생한다. 이 실행컨텍스트는 전체 자바스크립트 코드가 실행되는 큰 상자 또는 컨테이너라고 가정할 수 있다. 자바스크립트를 실행시키면 자바스크립트 엔진은 콜스택이라는 통에 전역실행컨텍스트를 담는다. 만약 전역에서 함수A를 호출할 경우, 함수A의 실행 컨텍스트를 생성해서 또 스택에 담는다. 🔫 자바스크립트 실행 과정 🔫 생성단계 실행컨택스트 생성 선언문만 실행해서 환경레코드에 기록 실행단계 선언문 외 나머지 코드 순차적 실행 환경레코드를 참조하거나 업데이트 1 함수를 호출한 후 순서대로 나열하면, 호출된 함수에 2 실행컨텍스트를 생성하고 이를 3 실행컨텍스트 스택에 push한..

JavaScript/JS 2023.01.26

자바스크립트 동기, 비동기 정의 / 자바스크립트 런타임

동기적이란? 자바스크립트는 단일 스레드 언어로서 한번에 하나의 일만 처리할 수 있다. (=구조상 콜스택이 하나밖에 없다) 이렇게 한번에 하나만의 동작을 하는 것을 동기(syncronous)라고 한다. 코드를 순차적으로 실행하면서 만약 실행이 끝나기까지 오래걸리는 함수를 만나면 그 동작이 다 끝날때까지 다음 코드를 실행하지 않는다. 🧐What's the problem? 위와 같이 오래 걸리지 않는 동작을 수행할때는 문제가 없다. 하지만 용량이 높은 사진을 다운받는 작업과 같이 시간이 오래 걸리는 작업을 할 때에도 동기적으로만 작동한다면 문제가 생긴다. 사진 파일이 다운되는동안, 사용자는 다른 서비스를 이용할 수가 없는것이다. ex> 네트워크 요청, 암호화 작업, 파일 다운로드 등 자바스크립트의 비동기 비동..

JavaScript/JS 2023.01.16

자바스크립트(JS) 변수/식별자란? 변수선언방법과 차이 (var, let, const)

1. 정의 변수란? 데이터 저장공간 값의 위치를 가르키는 상징적인 이름 자바스크립트는 데이터를 저장하기 위해서 변수를 선언하여 사용한다 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 or 그 메모리공간을 식별하기 위해 붙인 이름이다. 🔫 식별자는 값이 아니라 메모리 주소를 기억하고 있다 🔫 var score; var score=80; 변수를 할당할 때는 이전 값 undefinded가 저장되어 있던 메모리 공간을 지우고 그 메모리 공간에 새롭게 80을 저장하는 것이 아니라, 새로운 메모리 공간을 확보하고 그곳에 할당값 80을 저장한다는 점에 주의하자!! 2. 변수선언과 할당 var score; // 변수선언 score = 80; // 값의 할당 3. 변수선언단계 2가지 1️⃣ 선언단계: 변수이..

JavaScript/JS 2023.01.12