JavaScript
-
[2019.04.08] 이머시브 7일차, DanceParty 스프린트 시작핵인싸 개발자의 길/코드스테이츠 Immersive Course 2019. 4. 9. 00:15
오늘부터 매 주 오전 Self Asseccement를 풀게 되었다. 오늘 오전에 친 시험은 Tree구현. 제한시간은 1시간...대다수가 문제를 제출하지 못하였다...(나는 했다ㅋ)오전부로 Data Structure 스프린트가 끝나고, 페어리뷰, 스프린트 리뷰를 진행한 후에 오후부터 새로운 스프린트 Dance Party에 들어갔다.Dance Party... ㅇ_ㅇ;...이름을 왜 댄스파티라고 했는지는 모르겠다. # DataStructure 스프린트를 진행하며 받은 페어리뷰자신의 생각을 이해하기 쉽게 설명하는 것이 좋았다. 나는 설명을 잘하나보다. 이전 페어리뷰때도 설명부분에서 장점을 받았다. 단점은 딱히 받지 않았다.왠지 이번 스프린트에서는 내가 목이 아파서 힘이 안나니까 조급한 행동이 강제로 억제되었나보..
-
[2019.04.08] __proto__, prototype, constructor 관계개발 블로깅/Javascript 개념 2019. 4. 8. 15:54
쉽게 내 방식대로 정리한 설명 prototype 은 var Human = function () {this.name}; 과 같이 틀로 쓰는 녀석에게 속성을 정의하는 것 (함수만 prototype을 가지고 있음)__proto__ 는 var john = new Human(); 에서 나온 john 인스턴스에 속성을 부여하는 것.(인스턴스만 __proto__를 가지고 있음) 더 쉽게 생각해서, prototype은 붕어빵 틀 자체에 기능을 추가하는 것. __proto__는 붕어빵에, 그 추가했던 기능 # 1 방식1234567891011121314var Human = function(){ }Human.prototype.sleep() = function(){};var Student = function(){ } Stud..
-
[2019.04.06] this, setTimeout Check point정리개발 블로깅 2019. 4. 7. 14:06
# 11234567891011var name = "Window";var alice = { name:"Alice", sayHi:function(){ alert(this.name + "say hi"; }};var bob = {name : "Bob"};setTimeout(function(){ alice.sayHi();}, 1000);cs 9번째 줄에서 function() {} 으로 감싸주고 실행시키기 때문에 1초뒤에 실행됨. 1초 뒤에 alice의 속성인 sayHi 함수를 실행시키므로 this는 Alice.# 2123456789var name = "Window";var alice = { name: "Alice", sayHi: function() { alert(this.name + " says hi"); }};..
-
[2019.03.27] 전개 연산자 개념개발 블로깅/Modern script 2019. 3. 27. 11:50
배열을 조금 더 직관적으로 사용할 수 있는 방식인 전개 연산자라는 개념이 있다. # 전개연산자123456const add = (a, b, c) => { return a + b + c;} var arr = [1, 2, 3];console.log(add(...arr)); // 6cs위와 같이 배열 변수를 분해하지 않고 그냥 할당해버리는 방식이다. 1234var arr1 = [3, 4, 5];var arr2 = [1, 2, ...arr1, 6, 7]; console.log(arr2); // [1,2,3,4,5,6,7]cs이렇게 값을 순차적으로 하나씩 넣는 작업을 쉽게 할 수도 있다. 그냥 괄호 [] 껍데기를 벗겨서 넣어버린다는 개념으로 생각하면 이해가 쉽다. ... 키워드가 구조분해할당 방식에서도 쓰이므로 헷..
-
[2019.03.27] 구조분해할당 개념개발 블로깅/Modern script 2019. 3. 27. 11:42
ES6로 넘어오면서, 배열과 object를 조금 더 쉽게 다루는 방식이 있다.구조분해 연산자, 전개연산자, 각 배열에 들어가 있는 데이터를 하나씩 가져와서 처리해야 되는 상황을 한번에 처리할 수 있도록 해준다. # 구조분해할당 - 배열 구조 분해12345var a, b, rest;[a, b] = [10, 20]; console.log(a); // 10console.log(b); // 20cs 12345var x = [1, 2, 3, 4, 5];var [y, z] = x; console.log(y); // 1console.log(z); // 2cs 위와 같이 변수 초기화 선언할 때 표현하면, 배열을 분해하여 순서대로 각 자리에 들어가게 된다.12345var a, b;[a = 5, b = 7] = [1]; ..
-
[2019.03.13] 순차적으로 추가되는 연속 콜백함수 구현개발 블로깅 2019. 3. 13. 14:56
오늘 AMA시간에 클로저 관련된 문제를 더 풀어보고자, 클로저 관련 문제를 어디서 구할 수 있나 여쭤보니까, 엔지니어분께서 한 문제를 풀어보라고 제시해주었다. # 함수를 호출하는 방식과 해당 결과값1234567var call = recursive(); call(1); // 1call(1)(2); // 2call(1)(2)(3); // 6call(1)(2)(3)(4); // 10...cs # 처음에 이 문제를 접하고 생각이 들었던 문제풀이방식 한번씩 호출이 될 때마다 카운트를 증가를 시켜야한다. (콜백함수가 늘어나야하기때문에..)카운트만큼 return 값을 콜백함수로 넘겨줘야한다.반복적인 행위이므로 recursive하게 구현해야한다. # 해당 문제에 대한 알고리즘 구현 소스코드1234567891011121..
-
[2019.03.06] 비동기 처리방식 Promise와 Async await개발 블로깅/Modern script 2019. 3. 6. 16:54
비동기적 통신방식인 AJAX가 있는데, 그것 말고 비동기적 처리 방식인 Promise가 따로 있다. 사실 둘의 무슨 차이인지는 모르겠다.AJAX는 통신이고, Promise는 함수처리를 비동기적으로 하는 것일까..? 우선 Promise가 향후에 많이 쓰여질 방식이라고 하는 것 같아, 사용방식에 대해 공부를 해봤다. # Promise 사용법 기본적인 사용 예제12345678910111213function delayP(sec){ return new Promise((resolve, reject)=>{ setTimeOut(()=>{ resolve('run!'); }, sec * 1000); }} let finalVal = delayP(1).then((result)=>{ console.log(result); ret..
-
[2019.03.04] Visual Studio Code 단축키개발 블로깅 2019. 3. 4. 22:32
앞으로 vsCode를 편리하게 자주 쓰기 위해서는 단축키를 어느정도 자유자재로 쓸 수 있으면 좋겠다고 생각해서,VScode 단축키 중 내가 활용을 많이 할 것 같다 싶은 것들만 따로 정리해보려고 한다. command + p : 파일 선택 Command + shift + p : 명령어 option + up,down : 현재 줄 위 아래로 이동 command + b : 왼쪽 탭 활성비 비활성화 command + [ : 왼쪽 들여쓰기 (반대도 가능) command + j : 터미널 밑 하단 탭 열기 command + shift + k : 해당 줄 삭제 command + / : 주석 (여러 줄 가능) command + i : 현재 줄 선택 option + shift + a : 다중 주석 command + shi..