본문 바로가기

전체

(142)
함수와 변수선언 3가지씩 정리 *선언과 할당 - 선언 : 변수명을 자바스크립트 엔진에 알리는 것 - 할당 : 변수에 값을 저장하는 것(=할당연산자) => 변수선언은 '선언 - 초기화 - 할당'의 3단계를 거친다. 이를 lifecycle이라고도 한다. i)선언단계(Declaration phase) : 변수를 실행 컨텍스트의 변수 객체에 등록. 이 객체가 스코프가 참조하는 대상이 된다. ii)초기화단계(Initialization phase) : 선언단계의 변수 객체를 위한 메모리는 만드는 단계. 할당된 메모리는 undefined로 초기화 iii)할당단계(Assignment phase) : 사용자가 undefined로 초기화된 메모리의 다른 값을 할당하는 단꼐 *TDZ(Temporal Dead Zone) 직역하면 일시적인 사각지대라는 뜻인..
'failed to push some refs to' git 에러 해결법 개인 과제로 영화정보 오픈API인 TMDB(The Movie DB)를 이용한 페이지를 만드는 미니 프로젝트를 하게 됐는데시작부터 에러에 직면했다. git add, commit은 다 되는데 push를 할 때 이런 에러가 뜬 것이다. 로컬 저장소에 있는 프로젝트를 깃허브 사이트를 통해 만든 저장소로 push 하는 경우에 이런 메세지가 뜨는 경우가 있다. fatal: refusing to merge unrelated histories push 전에 먼저 pull을 해서 프로젝트를 병합해 주어야 하는데, pull 명령 실행시 이런 문구와 함께 진행되지 않는다면, 다음의 명령으로 실행한다. git pull origin 브런치명 --allow-unrelated-histories 이 명령 옵션은 이미 존재하는 두 프..
24.01.05 누네띠조 5일차 - 실행 컨텍스트 1. 실행 컨텍스트 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. i) 선언된 변수를 위로 끌어올림 = 호이스팅(hoisting) ii) 외부 환경 정보를 구성 iii) this 값을 설정 1)스택 vs 큐 a. stack : Last In, First Out b. queue : First In, First Out 콜스택(call stack) 실행 컨텍스트가 동일 환경에 있는 코드를 실행할 때 필요한 환경정보들을 모아 컨텍스트를 구성하고 이것을 위에서 설명드린 스택의 한 종류인 콜스택에 쌓아 올린다. 가장 위에 쌓여 있는 컨텍스트와 관련된 코드를 실행하는 방법으로 코드 환경 및 순서를 보장할 수 있다. 2) 컨텍스트의 구성 a.구성방법(여러가지가 있지만 우리는 함수만 생각하면 된다.) i. 전역..
프로그래머스 0단계 - 각도기 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 내가 푼 답: function solution(angle) { if (angle < 90){ return 1 } else if (angle == 90){ return 2 } else if (angle < 180){ return 3 } else { return 4 } } 더 나은 답: 삼항 연산자를 이용한 풀이 function solution(angle) { return angle < 90 ? 1 : angle === 90 ? 2 ..
23.01.03 누네띠조 3일차 - 불변성 오늘은 JS 3주차 강의를 들었는데, 너무 어려운 부분이었다. 시작은 데이터타입으로 해서 ERD를 작성할 때 어느정도 공부하였기에 다소 잘 이해가 갔다. 하지만 불변성 부분이 나오면서 이해가 힘들어졌다. 그 내용을 정리해보며 복습해보려 한다. * 데이터타입 : 구분 기준은 값의 저장방식과 불변성 여부 - 기본형(Number, String, Boolean, null, undefined, Symbol) : 원시형이라고도 함. - 참조형(Array, Function, Date, RegExp, Map/WeakMap, Set/WeakSet) = 객체(Object) => 구분기준 1. 복제의 방식 1) 기본형 : 값이 담긴 주소값을 바로 복제 2) 참조형 : 값이 담긴 주소값들로 이루어진 묶음을 가리치는 주소값을 ..
Math 내장 객체 오늘 알고리즘 공부를 시작했다. 진작 했어야 했는데 다른 공부를 한다는 핑계를 대며 계속 미뤄왔다. JS로 공부했고, 0단계부터 시작했는데, 아직 크게 어려운 문제는 없었는데, 그냥 연산자로 풀기보단 Math라는 객체를 이용하여 푸는 문제가 있길래 정리해 봤다. Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체이고 Number 자료형만 지원하며 BigInt와는 사용할 수 없다. - 메서드 1. Math.abs(x) : 절댓값을 반환 2. Math.random() : 0과 1 사이의 난수를 반환 3. Math.sqrt(x) : x의 제곱근을 반환 4. 최대-최소(배열을 넣으려면 ...(스프레드 연산자)를 이용하면 됨.) 1) Math.min(x,y,z...) : 가장 작은 값 반환 2..
24.01.02 누네띠조 2일차 - ES6 오늘 오전은 블로그 이전에 시간을 소모하게 되었다. 원래 쓰던 velog에서 글을 쓰고 완료를 누르면 페이지가 넘어가지 않는 에러가 떴기 때문이다. 몇번 그냥 자잘한 에러라고 생각하고 넘어갔는데, 결국 에러 때문에 썼던 글을 날려먹고서야 이전 해야겠다는 생각이 들어 티스토리로 급하게 이동했다. 오늘은 JS 2주차 강의인 ES6에 대해서 배웠는데, 이전에 했던 프로젝트에서 이해가 안 가던 코드의 대부분이 이 부분이었다. 확실히 간결하고 활용성이 좋아 익혀놓으면 사용하기도 쉽고 다른 사람의 코드를 이해하는 데에 큰 도움이 될 것 같았다. 1. 구조분해할당(destructuring) : 객체나 배열의 구조를 분해해서 각각의 요소를 각각 할당하는 것. 1) 배열인경우 let [value1, value2] = [..
23.12.29 누네띠조 1일차 - 경험의 중요성 1. 새로운 팀 어제 미니 프로젝트의 발표를 한 후, 오늘 팀이 변경되었다. 이제 겨우 익숙해진 팀원들이 바뀌어 걱정이 많았지만 또 좋은 분들을 만난 것 같다. 5인으로 구성된 조의 이름은 '누네띠조'로 이름 지었다. 2. 새 강의 : 5개월 전보다 상승한 이해력 Java Script 강의를 듣게 되었는데 앞선 프로젝트에서 이해가 되지 않던 부분들이 세세하게 눈에 들어왔다. 5개월 전에 처음 기본 강의를 들었을 때는 공식만 즐비한 수학책을 보는 느낌이었다. 계속 공식만 보니 외워지지는 않고 실력도 늘지 않았다. 하지만 앞선 프로젝트를 통해 용법을 기억했고 다시 강의를 들으니 물흐르듯 이해가 갔다. // 1-2. 생성자 함수를 이용한 객체 생성 방법 function Person(name, age, gend..