본문 바로가기

분류 전체보기133

241107 TIL 함수를 매개변수로 넣을 때 주의할 점 func란 변수에 어떤 함수가 할당돼있다고 할 때, 이 변수를 인자에 넣을 때 func로 넣는 것, func()로 넣는 것, func(인자O)로 넣는 것의 결과가 모두 다르다!! 아래 예시를 보자구// x와 y를 인자로 받는 함수가 상수 add에 할당돼있음const add = function(x, y) { return x + y;}// argu를 인자로 받는 함수가 what_return에 할당돼있음const what_return = function(argu) { let return_val = `${argu}`; console.log(return_val);} 1) 매개변수에 func로 넣는 경우 : "소괄호가 붙지 않았음 = 함수가 실행되지 않음"이므로.. 2024. 11. 7.
깃허브에서 pull requests를 통해 팀원 코드에 댓글 남기기 1. 팀 깃허브에서 Pull requests 탭으로 이동한다. 2. 리뷰할 팀원의 Pull request 기록을 선택한다. 3. Pull request 기록에서 Files changed 탭으로 이동한다. 4. 리뷰할 파일을 선택 후, 댓글을 남길 행의 좌측 + 버튼을 누르고 전할 말을 적는다.Add single comment : 남길 댓글이 하나인 경우, 하나의 코멘트만 남기고 리뷰를 종료함Start a review : 남길 댓글이 여러 개인 경우, 이 위치에 pending 상태의 댓글을 남기고 리뷰를 계속함 (pending = 보류 중) 5. 여러 코멘트를 남긴 후 Finish your review 버튼을 눌러 리뷰를 마친다. 5-1) Finish your review 버튼 누른 후 아래와 같이 진행하.. 2024. 11. 7.
JS문법종합반 정리 3주차 03 - 콜스택, 실행컨텍스트, VE, LE, 식별자정보, 외부환경정보, 호이스팅, 스코프, this, call(), apply(), bind() 콜 스택후입 선출의 보관 방식인 스택. 실행 컨텍스트를 보관하는 방식// ---- 1번 전역은 늘 먼저 스택var a = 1;function outer() { function inner() { console.log(a); //undefined var a = 3; } inner(); // ---- 3번 inner가 스택됨 console.log(a); // 1}outer(); // ---- 2번 outer가 스택됨console.log(a); // 1코드실행 → 전역(in) → 전역(중단) + outer(in) → outer(중단) + inner(in) → inner(out) + outer(재개) → outer(out) + 전역(재개) → 전역(out) → 코드종료실행 컨텍스트코드실행outer() 실행in.. 2024. 11. 7.
241106 TIL - 깊은복사이해하기, RegExp 깊은 복사 함수 이해하기/* 깊은 복사 함수 */let deepCopy_obj = function(key) { let result = {}; // 상위 객체의 프로퍼티가 참조형 데이터고 값이 비어있지 않으면 if (typeof key === 'object' && key !== null) { // 하위 객체의 프로퍼티에 접근해 복사하는데 만약 또 하하위객체가 있으면 재귀 실행 for (let lower_key in key) { result[lower_key] = deepCopy_obj(key[lower_key]); } } else { // 상위 객체의 프로퍼티가 기본형 데이터면 그냥 복사 result = key; } // 깊은 복사 완료된 객체 반환 return.. 2024. 11. 6.
JS문법종합반 정리 3주차 02 - 객체 복제, 얕은 복사, 깊은 복사 객체 복제의 문제점 객체를 변수에 직접 할당하는 식으로 통째로 복제하면, 복제된 객체의 프로퍼티를 변경할지라도 불변성 땜시 기존 객체와 복사 객체가 같다고 판단됨. /* 기존 객체 */var user = { name: 'wonjang', gender: 'male',};/* 객체를 복사하고, name 프로퍼티의 값을 바꾸는 함수 */var changeName = function (user, newName) { var newUser = user; newUser.name = newName; return newUser;};/* 복사 객체 생성 */var user2 = changeName(user, 'twojang');/* name의 값이 다름에도 불구하고 두 객체가 같다고 판단 */console.log(user.. 2024. 11. 6.
JS문법종합반 정리 3주차 01 - 메모리, 기본형 데이터, 참조형 데이터 데이터 타입 심화1. 데이터 타입의 큰 종류기본형 : Number, String, Boolean, null, undefined, Symbol 참조형 : Object (Array, Function, Date, RegExp, Map, Set)둘의 구분은 값의 저장방식과 불변성 여부로 함값의 저장방식 (= 복제 방식)기본형 : 값이 담긴 주소값을 바로 복제참조형 : 값이 담긴 주소값들의 묶음의 주소값을 복제불변성 여부기본형 : 불변성 O / 참조형 : 불변성 X 2. 메모리와 데이터에 대한 배경지식2-1) 메모리에는 비트와 바이트비트 : 컴퓨터가 이해할 수 있는 최소 단위 (0과 1의 작은 조각) 바이트 : 비트 8개 묶음, 비트를 일일이 찾기 부담돼서 생김 메모리는 바이트 단위로 구성 (64비트 정수를 저장.. 2024. 11. 6.