일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- this
- 알고리즘
- 연습
- JS
- 일상
- array
- JavaScript
- 리액트
- DOM
- 포스기
- 엔퀸즈
- method
- 코딩
- vscode
- react
- ftech
- 취업
- 해커톤
- 제일어려워
- nqueens
- underscores
- 개발
- 자바스크립트
- 클라이언트
- 초보
- 공부
- 코드스테이츠
- grpahQL
- underbar
- Instantiation Patterns
- Today
- Total
목록분류 전체보기 (176)
analogcoding
Closure 란 외부함수의 변수에 접근할 수 있는 내부함수. scope chain으로 표현되기도 한다. 보통 함수를 return하여 사용하고 return 하는 내부함수를 closure함수라고 칭한다. Closure가 가지는 세가지 scope chain Closure 자신에 대한 접근. (Closure function 내에 정의된 변수) 외부함수의 변수에 대한 접근 전역 변수에 대한 접근 function outer(){ console.log("outer"); function inner(){ console.log("inner") } return inner; } outer() // outer; outer()() // outer; // inner; var what = outer(); what() // inne..
Scope 변수와 그 값이 어디서부터 어디까지 유효한지 판단하는 범위. scope는 변수 접근 규칙에 따른 유효범위를 의미한다. javascript에서 함수가 선언되는 동시에 자신만의 scope를 가진다. + var 와 let, const는 변수가 적용되는 범위가 다르다. var의 경우 function scope(함수범위) 를 가지고 let과 const의 경우에는 block scope(블록범위)를 가진다. 재할당 재선언 var 가능 가능 let 가능 불가능 const 불가능 불가능 Global scope (전역 스코프) 함수 외부에서 선언된 모든 변수는 전역 스코프이다. 전역 스코프를 대표하는 객체는 최상위 객체 window. 모든 전역변수는 window 객체와 연결된다. 코드 어디에서든 참조할 수 있다..
지난번에 이어 underscore 형식의 메소드를 작성해본다. _.uniq 말 뜻 그대로 유니크한, 중복되지 않는 것만 가려내서 리턴한다. // Ex) let arr = [1,1,2,2,3,4,3] => [1,2,3,4] _.uniq = function(array) { let result = []; for(let i = 0; i < array.length; i++){ if(!result.includes(array[i])){ // 빈 배열이 array[i]를 포함하고 있는지 없는지 확인하면서 집어넣음으로 중복을 제거. result.push(array[i]) } } return result; } _.contains 주어진 인자가 node 의 자손인지, 아닌지에 대해 Boolean 값으로 리턴한다. _.con..
앞에서 메소드가 어떤 기능을 하는지에 대해 앞에서 알아보았다. 이제 동작원리에 대해 알아보고 메소드 또한 내장된 하나의 함수이기에 _underscore 에 있는 것들을 직접 적어보며 복습해보려고 한다. 기존 메소드와 같은 기능을 수행하는 함수를 직접 작성해본다. underscore = 코딩을 도와주는 자바스크립트 라이브러리로 매우 작은 용량에 여러가지의 function을 제공. 언더스코어 함수중에는 ES5, ES6를 거쳐 내장함수로 이미 지원하는 함수들이 있다. * 주어진 객체나 배열을 collection 으로 , 실행할 callback함수를 iterator 라고 칭한다. _.each each 함수에 경우 주어진 collection이 배열/객체인지에 대해 각 요소에 대해 실행할 수 있어야한다. _.eac..
간단한 메소드들을 앞전에 다루고 내가 고전하고있는 남은 메소드들을 적어보면 every / some / find / findIndex / filter / forEach /map / reduce / sort * reduce 10 ; // (모든 원소가 통과한다) } arr1.every(greaterThanTen) = true Array.some() 배열 안의 어떠한 요소라도 주어진 함수를 통과하는지 테스트한다. 하나라도 통과하면 true 모든 요소가 통과하지 못하면 false 를 리턴한다. 빈배열의 경우 무조건 false를 반환한다. callback함수는 1번 element , 2번 index , 3번 array를 인자로 갖는다. let arr2 = [ 1 , 2 , 3 , 5 , 7 , 9 ] functi..
알고리즘을 풀거나 코드를 작성할 때 아직 if 와 for에 더 익숙한 탓인지 특정 메소드를 정말 필요로 하는 상황이 아니면 filter , map , reduce 등의 메소드를 잘 사용하지 못하는 편인 것 같다. 메소드가 어떻게 동작하는 것인지 정확히 파악한다면 내가 코드를 작성할 때 조금 더 영리하게 사용할 수 있을까하는 맘에 복습 겸 메소드를 정리하기! let arr1 = [ 1 , 2 , 3 ] ; let arr2 = [ 4 , 5 , 6 ] ; Array.concat() 인자로 주어진 배열이나 값을 기존 배열에 합쳐서 새 배열을 반환한다. arr1.concat(arr2) = [ 1 , 2 , 3 , 4 , 5 , 6 ] ; Array.fill() 시작 인덱스부터(2번 인자/생략하면 처음부터) 끝 ..
+ code states pre course. 후기 part.2 수업 3주차 ~ 7주차 수업 현황 나름 꾸준한 복습과 함께 잘 따라가던 초반과는 달리 갈수록 올라가는 난이도에 여러 난관에 부딪히며 매일을 머리 싸맨채 보내고 있는 것 같다. if문과 for문만 활용해서 알고리즘을 풀어왔는데 갈수록 새로운 메소드를 많이 알게 되고 사용하게 되는 경우가 많았는데 익숙하지 않다보니 5주까지는 전혀 활용하지 못했다. 지금도 내 생각에 다른 동기들보다 잘 사용하지 못하는 것 같지만 처음보다는 많이 나아진 것 같다. 함수 파트와 객체 파트도 심화과정에 들어가서 한번 더 무너지고 컴맹인 나에게는 남들에겐 기본 소양과도 같은 HTML , CSS 조차 너무 새로운 것에 대한 방대한 정보가 한 번에 주입되어 한주 간 멘붕상..
코딩을 시작하며. + code states pre course. 후기 part.1시작 전 ~ 수업시작 시작. "내가 하고 싶은 일이 무엇일까" 라는 질문에 대해 고민하기보다는 기회가 닿는 곳으로 가고 있었던 20대의 계단 중간 쯤에서 내가 알고 있던 것, 준비하고 있던 것에서 내려와 현실적이지만 조금이라도 더 행복하게 일하면서 살고싶다 라는 생각이 들었다. 소박하지만 확실한 행복을 위한 조건을 충족할 수 있으며 컴맹인 나에게 너무나 멋지게 보였던 프로그래밍에 대해 갑작스레 공부를 시작했다. 주변에서는 너무 늦은 시작이다 , 하고 있던 것은 어쩌냐 , 금방 그만 둘 것 같다 등등 부정적인 반응이 많았지만 더 이상 남의 말에 흔들리기에 내 똥고집은 너무 단단해져있었다. 컴퓨터로 게임과 서칭말고는 해본 적이 ..