본문 바로가기

분류 전체보기141

[JavaScript] 실행컨텍스트(스코프, 변수, 객체 호이스팅) 실행 컨텍스트 자바스크립트의 실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체다. 자바스크립트는 어떤 실행 컨텍스트가 활성화되는 시점에 record(hoisting), outer, this값을 설정 한다. 1) 콜 스택 코드를 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고 이것을 위에서 설명드린 ‘스택’의 한 종류인 콜스택에 쌓아올린다. 가장 위에 쌓여있는 컨텍스트와 관련된 코드를 실행하는 방법으로 코드의 환경 및 순서를 보장할 수 있다. 실행 컨텍스트에 담기는 정보 1. VE => VariableEnvironment 1) 현재 컨텍스트 내의 식별자 정보(=record)를 갖고있다. var a = 3의 경우, **var a**를 의미, 선언부 현재 컨텍스트와 관련된 코드의 식별.. 2023. 4. 5.
데이터 타입 심화, 메모리 데이터 타입 종류 기본형과 참조형을 나누는 기준 : 값의 저장 방식과 불변성 여부에 따라 나뉜다. 💡 [기본형과 참조형의 구분 기준] 복제의 방식 기본형 : 값이 담긴 주소값을 바로 복제 참조형 : 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 복제 불변성의 여부 기본형 : 불변성을 띔 => var나 let은 값이 변경되는데? => 메모리 관점에서 봐야 불변한지 아닌지 파악 가능 참조형 : 불변성을 띄지 않음 자, “불변성을 띈다” 이 말을 이해하기 위해서 우리는 메모리와 데이터에 대한 내용을 이해해야만 합니다. 아래에서 그 배경지식을 낱낱이 살펴보기로 합시다 😎 메모리와 데이터에 관한 배경지식 1. 메모리, 데이터 1)비트 컴퓨터가 이해할 수 있는 가장 작은 단위죠 0과 1을 가지고 있는 메모.. 2023. 4. 4.
자바스크립트 랜덤숫자 뽑기(중복 제거) 1. 배열에 중복여부를 확인한 후, 원하는 갯수만큼 랜덤숫자 삽입 function randomArray() { const array = []; while (array.length < 3) { const random = Math.trunc(Math.random() * 10); if (!array.includes(random)) { //중복이 없을경우 array.push(random); } } return array.join("") } 2. Set객체를 이용해(중복 제거) 랜덤숫자 삽입 후, 스프레드 연산자로 배열로 변경 function randomArray() { let array = new Set(); while (array.size < 3) { array.add(Math.trunc(Math.random.. 2023. 4. 4.
[Git & GitHub] 깃허브로 협업하기 - fork / pull requests 깃헙으로 협업하기 위한 전체적인 과정들을 간략하게 정리해 보려고 한다. 다음 과정은 외부 원격 저장소에서 for하여 내 원격저장소로 가져와서 pull requests를 요청하는 방식으로 진행된다. 현업에서 가장 많이 사용하는 방법이라고 한다. 깃헙 기본 개념 - remote : 원격 저장소 - local : 로컬 저장소 - push : 파일을 업로드 하는 것이 아니라 버전을 업로드 하는 것이 push다. 소유하지 않은 원격저장소는 기본적으로 push가 불가능하다. => 콜라보레이터에서 add people하면 가능은 하지만, 이렇게 되면 무분별한 push로 저장소가 어지럽혀지기 때문에 권장하지 않는다. *푸쉬권한 최소화 => 푸시 권한은 팀장 등 책임자만 부여 하는 것이 좋다. *push권한을 아무한테나 .. 2023. 4. 3.
[WIL-001] 토이 프로젝트 - 펫스타그램(Petstagram) 🦄 토이 프로젝트 19조 - 펫스타그램(Petstagram) ✨진행 날짜 : 3/28 ~ 3/31일(3~4일) 토이프로젝트 주간동안 3명의 팀원과 함께 펫스타그램(Petstagram)이라는 웹 사이트를 개발했다. 팀원들과 함께 3일동안 프로젝트를 진행하면서 느낀 부분들을 작성해 보려고 한다. 무엇을 고민했나? 일단 프로젝트 기간이 매우 짧았다. 원래 월~목요일까지 였으나, 우리는 첫 프로젝트 주제를 한 번 뒤엎고 새 주제로 변경하여 하루 ~ 이틀정도의 시간을 버렸기 때문에 시간이 많이 부족했다.. 처음 구상한 프로젝트 주제는 한강 정보 웹사이트 만들기였다. 한강의 여러 공원들(망원, 여의나루 등등...)의 지역들로 나누어 그 지역들의 명소에 대한 순위를 제공하고, 해당 장소에 대한 정보, 리뷰, 댓글 등.. 2023. 4. 1.
[JS] 온보딩 3주 4일차 - 동기와 비동기, 콜백지옥과 Promise 🦄 온보딩 3주 4일차 - JS동기와 비동기, 콜백지옥과 Promise ✨03/23 : 목표 : 비동기 개념에 대한 이해 오늘은 부족했던 자바스크립트 개념에 대해 이해하는 시간을 가지기로 했다. 그 동안 항상 어려워했던 동기와 비동기에 대한 개념, 콜백지옥과 Promise를 사용하는 이유와 방법에 대해 공부해 보았다. 01 동기와 비동기 1. 동기와 비동기 1) 동기(scynchrounous) : JS는 동기적이다 => hoisting이 된 이후부터, 코드가 우리가 작성한 순서에 맞춰서 하나하나씩 자동적으로 실행된다. 2) 비동기(asynchronous) : 언제 코드가 실행될지 예측할 수 없는 것을 말한다. setTimeout(() => console.log("2"), 1000); //콜백을 이용한, .. 2023. 3. 23.
728x90
반응형