본문 바로가기

프로그래밍/JavaScript

(10)
19.12.12) JS - 코드스쿼드 Step3 복습 배운 점 함수의 인자를 객체 이름으로 하니까 혼동이 온다. 기능별로, 쪼개니까 코드가 단순해지고 이해하기가 쉬워진다. divide & conquer!! JS로 html를 조작하니 확실히 코드가 간결해지고 아름다워진다. 여러 데이터를 모을 때는 배열도 유용하다. 코드를 훨씬 간결하게 만들 수 있다. 더 수준이 높아지면 객체도 자유자재로 사용할 수 있게 연습해야겠다. 반복적으로 프로그램 돌려야 할 때는 while문 생각해보기!! 조건에 맞지 않으면 계속 돌아가게 아쉬운 점 start.js 파일에 기능이 너무 많이 몰려 있어서 아쉽다.. 출력하는 파일 따로, 게임하는 파일 따로 진행해도 좋았을 텐데. 전광판 점수 업데이트가 제대로 안돼서 아쉽긴 하다..
19.12.11) JS - 코드스쿼드 step2 복습 step2 복습 이후 깨달은 것 처음에 복습한다치고 한 번에 다 만들고 커밋하려고 했다. 하지만 프로그램 구조가 복잡해서 시간이 갈수록 주먹구구식으로 코드를 짰다. 그러다, 다시 처음부터 하자 마음먹었다. 대신 중점은 divide & conquer 였다. 구현할 기능들 적어놓고 하나씩 구현 완료하면 커밋하는 걸로! 함수의 의존성도 최대한 줄이기! 함수의 의존성이 높아지면 점점 코드가 복잡해져서 나조차 이해가 어려워진다. 최대한 함수 안에 다른 함수를 넣지 않으려고 노력했다.
19.12.10) JS - 노마드코더 강의 실습 복습 forEach() filter() 둘 다 배열의 메서드이다. forEach()는 반복문처럼 사용 가능하다. 인자 값은 3개를 받는데, 첫 번째 인자는 배열의 element를 하나씩 꺼낸다. 두 번째 인자는 인덱스를 꺼낸다. 세 번째 인자는 배열 전체를 꺼낸다. const arr = [1,2,3]; arr.forEach(function(elements, i, j){ console.log(elements) // 1, 2, 3 console.log(i) // 0, 1, 2 console.log(j) // [1,2,3], [1,2,3], [1,2,3] }) filter() filter()는 boolean값을 가지고 사용 가능하다. 배열의 요소를 하나씩 꺼내면서 만약 true값은 새로운 배열에 추가한다. fals..
19.12.09) JS - ES6 속 추가된 문법 String 새로운 메소드 startsWith() : 문자열이 00으로 시작하는지 알아내는 메소드 endsWith() : 문자열이 00으로 끝나는지 알아내는 메소드 includes() : 문자열 속에 00이 있는지 알려주는 메소드 Array For of 리스트 순회하는 방법 for문 foreach 메소드 for of -> 문자열에서도 사용 가능 Spread operator 펼치는 연산자라는 의미 ...를 사용한다. Immutable 배열 만들 때도 용이하다. 파이썬의 unpacking이랑 비슷하다. from 메소드 배열을 만들어주는 메소드이다. function addMark() { const Arr = Array.from(arguments); const answerArr = Arr.map(function..
19.11.27) JS - checkio 속 유용한 메소드 str replace(arg1, arg2), chatAt(index), endsWith(), startsWith() includes(), indexOf(), toLowerCase(), toUpperCase() array endsWith(), startsWith(), includes(), indexOf() splice() 배열 원소 삭제할 때! isNaN() sort() 이용해서 객체나 정수 배열 내림, 오름차순 만들기 // 배열에 담긴 상품(객체)의 가격 중 큰 것을 limit만큼 출력 function biggerPrice(limit, data) { const answer = []; data.sort(function(a, b){ return b.price - a.price; }) for(let i =0; i
19.11.23) Javascript - 배열의 메소드 목차 * 배열의 메소드 * switch-case문 배열의 메소드 배열의 메소드를 살펴보자. 메소드를 알고 있으면 상황에 따라 유용하다. 하지만 처음부터 달달 외울 필요는 없다고 생각한다. 분명 필요할 때가 올텐데 그 때 배워도 된다. 한번 살펴보자 concat(), join(), indexOf(), lastIndexOf() * concat() : 배열 합칠 때 사용한다. * join() : 파이썬에선 못 봤던 메소드다. 배열을 문자열로 바꿀 때 사용한다. var a = [1,2,3]; a.join(); a = "1,2,3" // 기본은 배열 그대로 문자열로 만든다. a.join(" "); a = "1 2 3" // 인자에 따라 원소 사이에 인자를 붙여서 문자열로 만든다. * indexOf(), lastI..
19.11.22) Javascript - 객체 목차 * 객체 * 객체 만드는 법 * this 키워드 객체 객체다. 어려운 자식이다. 이해가 쉽진 않지만 적어본다. 이런 생각이 든다. 객체는 일상 속에서 너무 녹아져 있어서 오히려 이해가 어려운 것이 아닐까 하는 생각이다. 등잔 밑이 어둡다는 말처럼. 너무 가까우면 오히려 잘 안 보인다. 사설은 그만하고 객체를 이야기하자. 객체는 하나의 물질이다. 생명체는 나름의 속성이 있고 하는 일이 있다. ex) * 사람은 각자 나름의 키와 몸무게가 있고, 밥 먹고, 잠자는 일이 있다. * 자전거은 각자 나름의 크기가 있고, 멈추거나 움직이는 일이 있다. * 도마뱀은 각자 나름의 색깔과 크기가 있고, 잠자거나 사냥하는 일이 있다. (설명이 적절한지 모르겠다.) 여하튼 객체는 하나의 물질이다. 다만 속성과 기능을 가..
19.11.21) Javascript - 함수 목차 *함수 *함수를 어떻게 잘 만들지? *꿀팁 함수 함수는 고등학교 졸업하고 안보나 싶었는데 컴퓨터에서 만났다.. 끈질긴 자식.. 새삼 느끼지만 이 세상은 수학이 기반인 학문들이 참 많다. 이제는 시험을 보지 않는 수학에 점점 흥미가 생기긴 한다. 피할 수 없다면 즐겨야지. 함수는 수학의 함수와 비슷하다. 매개변수가 있고, 그걸 처리하고 결과값을 리턴한다. 함수 만드는 방법은 2가지가 있다. //1 function foo (매개변수1) { //code return foo; }; //2 var foo = function (매개변수1) { //code return foo; }; 함수 호출 방법은 간단하다. 함수명에 ()를 붙인다. 이건 웬만한 컴퓨터 언어에는 공통적으로 작동하는 거라 한번 익히면 이득이다...