본문 바로가기

전체보기

(70)
201104_TIL 오늘한 일 객체지향 Programming - Javascript / ES5 버전과 ES6 버전에서 Class 생성하기 prototype, constructor, this, new, instance 용어 정리 함수의 매개변수의 개수가 유동적일 때 작성방법 함수에서 매개변수의 Default 값을 지정해주는 방법] shallow copy(얕은 복사)와 deep copy(깊은 복사)에 대해 다시한번 고찰(참고 링크1, 참고 링크2) Object.assign() 로 shallow copy 하기 전개연산자 ... 로 shallow copy 하기 재귀함수로 deep copy 하기 JSON.stringfy() 를 사용해 deep copy 하기 js lodash library 의 _.cloneDeep 사용해 deep c..
201102_TIL 오늘한 일 Socrative / Checkpoint - Scope & Closure 15문제 풀기 / 오답체크(3문제) Hoisting 이란? Closure 함수란? 장점과 단점은? 오늘 느낀점 scope 란 ? 변수 접근 규칙을 말한다. var 로 변수를 만들 경우 function scope 로 그 범위를 예상하기 쉽지 않고, 똑같은 변수를 재사용했을 때 문제가 생길수 있기 때문에 조심히 사용해야 한다. for (var i = 0; i < 5; i++) { console.log(i); // 0 1 2 3 4 } console.log(i); // 5 변수 선언 keyword 재선언 재할당 SCOPE const X X block let X O block var O O function global scope..
201031_TIL 오늘한 일 Javascript Koans 05_Types-part2 ~ 06_Array 복습 07_Object ~ 08_SpreadSyntax 풀기 primitive data type(원시 자료형, 원시값) / ex. string, number, bigint, boolean, undefined, symbol Non-primitive data type(기본이 아닌 데이터 유형, 복합 데이터 유형) / ex. Object, Array, function call by value 와 call by reference / deep copy 와 shallow copy 고민해보기 오늘 느낀점 원시 자료형은 값 자체에 대한 변경이 불가능(immutable)하다. 원시 자료형은 변수의 크기가 고정되어 있다. const n..
201028_TIL 오늘한 일 Javascript Koans ch.01 ~ 04 까지 풀고 한 챕터를 끝낼 때마다 commit 하기 loose equality(느슨한 동치 연산자) '==' 와 strict equality(엄격한 동치 연산자) '===' 학습 함수 선언식(declaration) 과 함수 표현식(expresstion) 의 차이, hoisting 이란? gmlwjd9405.github.io/2019/04/22/javascript-hoisting.html scope, lexical scope, closure 학습 var / let, const 의 차이점(function scope 와 block scope) (var 의 문제점과 지양해야하는 이유에 대해..) gist.github.com/LeoHeo/7c2a2a6d..
201026_TIL 오늘한 일 code states - 개발자 도구 사용법 강의 듣기 Command Line Interface(CLI)와 Graphical User Interface(GUI) 의 차이점 CLI 를 사용해 GUI 의 기능을 사용할 수 있다(폴더 만들기 mkdir , 파일 만들기 touch , 파일이동 mv , 복사 cp, 읽기 cat , 수정 vi , 삭제 rm, 권한설정 sudo ). CLI 명령어를 사용해 현재 내가 위치한 디렉토리를 파악할 수 있다(홈 디렉토리 ~ , 루트 디렉토리 / ). sudo , chown , pwd , cd , ls , ls -al 협업 도구 git 버전 관리 시스템 사용하는 목적, 설치, 사용법 git 명령어 : fork , clone , add , commit , pull ,..
201021_TIL 오늘한 일 Algorithm Basic 10 ~ 15번 문제 풀기 / 11번, 13번 문제 [check] 2차원 배열[배열을 요소로 갖는 배열] 이해하기 자바스크립트에서 객체의 key, value 특징 이해하기(key는 중복허용X, value는 중복허용O), 중복되는 key에 대한 value 를 할당하면 재할당(수정)된다. key 에 대한 value 값이 없는 경우에는 undefined 이다. 1 은 truthy / 0 은 falsey 이다. falsy : undefined, Null, NaN, false, 0, -0(음수), ''. "" (빈문자열) 오늘 느낀점 13번 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. let input = [ // 'hello..
201018_TIL 오늘한 일 Algorithm Basic 1~6번 문제 풀기 코드 가독성을 높이기 위한 방법 학습하기 : 들여쓰기는 Tab보다 Space 2번 사용, 이름짓기, Boolean 이름, 함수 이름짓기, Capital letters in variable names, 기호 / 구두점찍기, 코드 문장과 구문 사이 공간, 코드의 목적을 주석달기, Snake vs. Camel Casing, 3항 연산자 남용하지 말기, 엄격한 비교 연산자( === or !=== ) 사용하기, 코드 문장 끝에 세미콜론(;) 찍기 오늘 느낀점 문자열을 split 하고 일정한 패턴으로 join 하는 문제풀이를 반복해서 풀어봤다. join 함수 이용은 아직 익숙치 않아 구현하려고 할때, 생각이 잘 나지 않았다. 특히 split 함수는 현업에서..
201013_TIL 오늘한 일 코플릿 객체 문제 11~21번까지 풀기. 20,21번 문제 어려웠음 [check] 문자열을 split 함수를 이용해 배열로 만들고 배열의 각 elements 를 Object의 key 값으로 넣고 중복되는 횟수를 count하여 value 값으로 넣는다. pair-programming : 객체 문제 20~21번, Algorithm Basic 문제 1~2번 오늘 느낀점 항상 느끼는 거지만 내가 풀었다고해서 남한테 쉽게 설명하기란 정말 어려운 또 다른 문제인것 같다. 적어도 내가 완벽하게 이해를 했을때 듣기 좋은 설명인것 같고, 비유와 예시를 들으면서 설명하는 것이 가장 좋은 것 같다. 객체 21번 문제에서 띄어쓰기 문자열의 경우를 구현하는 데 시간이 좀 걸렸다. 테스트를 돌렸을 때 error 부분과..