일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hokeys
- SWIFT
- Svelte
- 호키스
- 이종호
- 자바스크립트 자료구조
- IOS
- jest
- 개발
- 자료구조
- 계명대 이종호
- 힛잇
- 스벨트
- TDD
- Hitit
- HTML
- react
- 리액트
- hokidoki
- javascript
- 개발자
- 자바스크립트
- 자스민
- 호키도키
- 계명대
- queue
- 스위프트
- 비동기
- 리액트 예제
- data structure
- Today
- Total
목록자바스크립트 (18)
Dog foot print
학교에서 c언어나 c# 실기수업을 들을때 가장 신기한 것은 학생들이 지역변수나 포인터를 사용하지 않고 대부분 main 함수에서 전역변수를 이용해서 프로그래밍을 하던 것이다. 또한 내가운영하는 자스민에도 스코프의 개념이나 변수들의 유효범위에 대해서 모르는 경우가 많았기에 스코프에대해서 포스팅을 하고 다시 정리하도록 해야겠다. 스코프를 포스팅하기위해 여러 블로그를 보던 중 잘 정리되어있는 번역글이 있어 그 글을 다시정리하며 내것으로 만들어 보겠다. https://medium.com/@khwsc1/번역-자바스크립트-스코프와-클로저-javascript-scope-and-closures-8d402c976d19 [번역] 자바스크립트 스코프와 클로저(JavaScript Scope and Closures) 본 글은 J..
재귀 함수란 영어로 reclusive function 이라고도 불리운다. 이 재귀함수는 함수를 정의할때 함수내부에서 자신을 호출하는 함수, 알고리즘입니다. 재귀 함수의 사용 function reclusive(numb){ if(numb == 0){ console.log("end"); }else{ console.log(numb); reclusive(numb-1); } } reclusive(10); 파라메터로 들어온 인자를 0이 될때 까지 1씩 감소시켜 출력하는 함수를 만들었다. 재귀 함수는 함수내부에서 자신을 호출하기 때문에 별다른 제어장치가 없다면 무한 루프에 빠지기 쉽다. 그러므로 항상 제어문을 통해 재귀함수호출을 통제해야 한다. 왜 재귀 함수를 사용하는가 ? for 문이나 while문을 사용해서도 위와..
저번 학기 자료구조는 c언어로 활용하여 수업을 했었는데, c언어는 아주 기초적인 부분 말고는 대부분의 함수가 구현되어 있지않아 힘들게 요구하는 함수들을 정의해야만 했었지만 자바스크립트는 대부분의 기능을 지원해주기 때문에 쉽게 자료구조를 만들 수 있었다. Stack 이란 stack은 lifo(Last In First Out)의 형태를 취하는 자료구조로써 맨 먼저 들어온 것이 가장 나중에 나가고 가장 최근에 들어온것이 가장 먼저 나간다. 흔히들 접시를 쌓아놓은 구조로 설명하는데 접시를 쌓아 놓고 맨 아래에 있는 접시를 꺼내기위해서는 맨 아래 접시위에 있는 것들은 모두 치워야지 가능하다. 이처럼 스택 또한 데이터를 수직으로 쌓아 놓고 원하는 데이터 위에 아무것도 없어야지만 해당 데이터를 뺄 수 있다. Stac..
프로그래밍언어를 공부하다보면 필연적으로 등장하는 개념인 콜백 함수를 만나게 된다. 나 또한 콜백함수에 대한 개념이 제대로 정리되지 않은 채 그저 동기와 비동기처리를 위해 사용되는 기법이라고만 단순히 알고 있었다. 그렇기에 이참에 콜백함수에 대해서 정리해보려 한다. 콜백함수란 ? 콜백함수는 한 줄로 요약해서 "함수의 인자로 전달되는 함수입니다. " 라고 할 수 있겠다. 무슨 말인가 함은 우리가 함수를 더욱 잘게 쪼개어 함수가 이 기능도 저 기능도 되는 복잡한 괴물이 될 수 있는 것을 방지 할 수 있고 함수의 로직 실행시기를 조정 할 수 있다는 것이다. 콜백함수가 될 수 있는 조건 1. 변수나 데이터 구조 안에 담을 수 있어야 한다. //자바스크립트는 변수나 구조체 , 객체등에 함수를 담을 수 있다. 2. ..
수업시간에 객체지향프로그래밍의 특징으로 다형성과 은닉성에 대해서 배운적이 있다. 클래스를 정의할 때 클래스의 내부 변수들을 숨기고 싶거나 함수를 숨기고 싶어 private나 protected를 사용 한다. 그런데 이러한 기능들은 자바스크립트에서 제공 해주지 않는다. 그래서 특정한 방법으로 객체안에 있는 값을 숨길 수 있어야 한다. 캡슐화란 ? 클래스내부에 있는 값들을 외부에서 참조하지 못하도록 숨기는 것 ! function Dog(name){ var name = name; // 접근 불가능 return { hello : 10,//접근 가능 getName(){ return name; }, setName(newName){ name = newName } } } var huge = new Dog("huge");..
배열은 다른언어에서는 같은 데이터타입이 메모리상 선형구조로 있는 자료구조를 말한다. 그러나 자바스크립트에서는 배열에 다른 데이터 타입이 들어가도 작동된다. 배열은 우리가 코드를 작성할때 코드의 라인을 여러개 쓰지 않고 각기 다른 메모리에 작성할 수 있는 이점이 있다. 배열의 구성 배열은 key와 value로 구성된다. 배열은 메모리가 연결되어 있는 모습을 하고 있는데, key는 배열에 담겨있는 값 (value)를 찾기 위해 사용되는 메모리의 번호이다. 배열의 0번 방에는 "h" 가 들어있는데 이때 0번방에 해당하는 번호가 key이다. (배열의 첫번째 방은 0부터 시작한다. ) 배열의 선언과 사용 var array = []; //선언 var array = [1,2,3,4,5,6,7,8,9,10] // 선언..
혹시 단순 노동일을 해본적이 있나? 나는 23살 군대에서 휴가나와서 잠시 아버지의 목공이신 지인분을 따라 아파트 건설현장에 가서 일을 도와준적이 있다. 내가 했던 일은 1층에 문을만드는 자재가 오면 그 자재를 2개동의 각 층마다 두는 역할을 했다. 엘리베이터를 타기에 육체적으로 힘들지는 않았지만 반복되는 작업이라 매우 귀찮고 지루했다. 프로그래밍을 짤때도 마찬가지이다. 1부터 10까지 console.log()를 사용하여 출력하려면 코드상에 다음과 같이 작성해야는데 보기도 좋지않고 만약 1부터 10000까지 출력해야 한다면 이는 실로 말할 수 없는 고통스러운 일이 될 것이다. console.log(1) console.log(2) console.log(3) ... console.log(10) 앞으로 다룰 f..
우리는 언제나 선택의 갈래에 서있다. 날씨가 좋으면 우산을 들고가지 않고 비가오는 날씨라면 우산을 들고가야하는 것 처럼 말이다. 소프트웨어도 언제나 똑같은 결과를 주지 않고 항상 선택에 의해 다른 결과를 반환한다. 자바스크립트도 참과 거짓에 따른 선택을 할 수 있게 도와주는데 이럴때 사용하는 것이 제어문 if 와 switch 그리고 삼항연산자이다. if 프로그래밍을 배우기 시작하면 하루 혹은 이틀만에 배우는 것이 if문 일것이다. if문은 조건에 따라서 프로그램이 다른 일을 수행할 수 있게 해준다. var a = 10; if(a < 15 ){ //실행문장 console.log("a는 15보다 작습니다. "); } 작성된 코드를 보면 if문의 오른쪽에는 () 소괄호가 있고 옆에는 {} 중괄호가 실행 문장을..