느낌표 두 개(!!)의 역할
출처: http://nopanic.tistory.com/5
느낌표 두 개(!!)의 역할
출처: http://nopanic.tistory.com/5
객체 공부 (4)
객체 공부 (5) (0) | 2017.09.13 |
---|---|
느낌표 두 개(!!)의 역할 (0) | 2017.09.13 |
객체 공부 (3) (0) | 2017.09.13 |
객체 공부 (2) (0) | 2017.09.13 |
객체 공부 (0) | 2017.09.13 |
객체 공부 (3)
느낌표 두 개(!!)의 역할 (0) | 2017.09.13 |
---|---|
객체 공부 (4) (0) | 2017.09.13 |
객체 공부 (2) (0) | 2017.09.13 |
객체 공부 (0) | 2017.09.13 |
함수의 특징 (4) (0) | 2017.09.12 |
객체 공부 (2)
객체 공부 (4) (0) | 2017.09.13 |
---|---|
객체 공부 (3) (0) | 2017.09.13 |
객체 공부 (0) | 2017.09.13 |
함수의 특징 (4) (0) | 2017.09.12 |
함수의 특징 (3) (0) | 2017.09.12 |
객체 공부
객체 공부 (3) (0) | 2017.09.13 |
---|---|
객체 공부 (2) (0) | 2017.09.13 |
함수의 특징 (4) (0) | 2017.09.12 |
함수의 특징 (3) (0) | 2017.09.12 |
함수의 특징 (2) (0) | 2017.09.12 |
# Neo SmartPen(네오 스마트팬)
(http://store.neosmartpen.com/m2/goods/view.php?goodsno=58&category=001)
미쳤음 ㅎㅎㄷㄷㄷ
# 딥러닝 튜토리얼 자료
설명 정말 쉽고 재미있게 해주셨다
https://www.slideshare.net/yongho/ss-79607172
# 함수 특징 (4)
출처: https://medium.com/ibare-story/e252506f8525
17. 클로저
- 함수와 함수가 접근할 수 있는 주변 환경으로 구성된 특별한 개념
- 함수 multiple은 익명 함수를 반환
- 반환되는 익명 함수의 바깥 함수 multiple을 걷어내면 보통의 익명 함수를 할당하는 대입문과 같다
- 지역 변수 x는 multiple을 호출하고 반환해도 존재하며 그 값은 익명 함수가 반환되는 시점의 x값인 1이다
=> 이것이 클로저!!
18. 콜백 함수
- 자바스크립트의 함수는 1급 함수로서 변수에 할당 가능
=> 함수를 함수의 인수로 전달할 수 있다는 의미
- 함수의 호출이 비동기 방식으로 작동되어야 할 때 이 콜백 함수를 이용
- 인수로 받은 함수를 콜백 함수라 함
=> 특정 시간 이후에 호출되어야 하거나,
=> 네트워크 자원을 호출하여 반환값을 받는것,
=> 특정 이벤트가 발생했을 때 호출되어야 하는 함수(이벤트 핸들러)와 같이 함수 호출의 시기를 호출하는 시점에 특정할 수 없을때
콜백 함수 패턴이 유용하게 쓰임
19. 콜백 지옥
- 간단한 비동기 작업은 콜백 패턴이 좋다
- 비동기 작업이 중첩되는 상황에서는 nono
- 백앤드 자바스크립트인 node 어플리케이션에서 콜백과 콜백이 중첩되는 상황 자주 발생
=> 비동기가 중첩된 흐름 제어는 콛의 가독성을 떨어뜨리고
=> 테스트를 어렵게 만든다
20. 흐름 제어 라이브러리
- 비동기 콜백과 흐름 제어(병렬 실행, 순차 실행)를 구현하기 위해 중첩된 콜백을 사용하지 않아도 되는 여러 대안 라이브러리가 존재함
1) async https://github.com/caolan/async
2) step https://github.com/creationix/step
3) q https://github.com/kriskowal/q
4) when https://github.com/cujojs/when
5) RSVP https://github.com/tildeio/rsvp.js
21. Promise & Generator
- 비동기 흐름 제어 코드를 직관적이고 아름답게 작성할 수 있도록 지원하는 자바스크립트의 네이티브 구현
=> ES 6 스펙으로 구현
=> 최신 브라우저와 node에서 동작
=> 자세한 내용은 아래 링크 참조
* JavaScript Promises
객체 공부 (2) (0) | 2017.09.13 |
---|---|
객체 공부 (0) | 2017.09.13 |
함수의 특징 (3) (0) | 2017.09.12 |
함수의 특징 (2) (0) | 2017.09.12 |
함수의 특징 (1) (0) | 2017.09.12 |
# 함수 특징 (3)
출처: https://medium.com/ibare-story/e252506f8525
10. 함수호출하는 3가지 방법 - 이름, call, apply
- 함수가 호출될 때 함수에게 전달되는 모든 인수를 담은 arguments 유사 배열과 함께 this도 암시적으로 전달
=> this는 함수를 호출한 컨텍스트를 가르키며 전역 공간에서 호출될 땐 전역 객체를 가르킴
=> ex) 브라우저 환경이라면 window 객체
=> 객체의 메소드로서 함수가 호출되면 this는 객체를 가르킴
- addAge의 this는 암묵적으로 함수 호출시 전달된 객체
=> 객체의 메소드인 경우 객체 그 자체
- this는 person 이라고 설명해도 문제는 없지만 자바스크립트는 this가 지시하는 대상을 변경할 수 있는 유연성을 제공
- 객체 내부에서 사용하는 this가 호출시점의 실행 컨텍스트를 가르키며 이는 함수가 어떻게 호출되는가에 따라 this가 달라질 수 있다는 것
11. apply
- call과 똑같이 동작
- 두번째 인수, 즉 호출할 함수에게 전달할 인수 목록을 배열로 받음
- 호출할 함수가 가변 인수를 받는 함수라면 배열을 전달하는 apply를 사용하면 손쉽게 처리 가능
12. bind
ECMAScript 5 스펙에 추가된 bind 메소드는 함수와 객체를 연결시킴
13. 1급 함수
- 함수도 변수에 할당 가능
=> 함수의 인수로 전달 가능,
=> 함수의 반한값이 될 수 있음
- 변수에 할당된 함수의 호출은 일반적인 함수의 호출과 같은 방식으로 작동
14. 이름 없는 익명 함수
- 함수의 이름이 필요 없다면 기술하지 않아도 됨
- 이름없는 익명 함수를 참조하고 있는 foo를 이용하여 마치 foo 라는 함수를 호출하는 것과 같은 방식으로 호출할 수 있음
- 함수는 length 속성 이외에 name 속성도 제공
- 위 코드를 보면 익명 함수는 이름이 없다는 걸 확인 가능
- 위 코드는 객체 foo를 생성하며 addAge 메소드를 작성하며 익명 함수를 사용함
- 이 경우 addAge 속성이 존재함으로 함수의 이름이 불필요하기 때문에 이름이 없는 익명 함수를 사용
15. 즉시 실행 함수
- 익명 함수를 생성과 동시에 즉시 실행 가능
-단 한번만 수행되는 초기화 작업 등, 전역 공간의 오염 없이 수행하기 위한 방법으로 많이 사용
16. 지역 유효 범위 생성자로서의 함수
- var 구문 없이 생성된 변수는 전역 변수로 생성 됨
=> 지역 스코프에 존재하지 않고 함수의 수행이 종료된 후에도 전역 스코프에 잔류
=> 메로리 낭비됨
객체 공부 (0) | 2017.09.13 |
---|---|
함수의 특징 (4) (0) | 2017.09.12 |
함수의 특징 (2) (0) | 2017.09.12 |
함수의 특징 (1) (0) | 2017.09.12 |
함수 특징 (0) | 2017.09.08 |
# 함수 특징 (2)
출처: https://medium.com/ibare-story/e252506f8525
7. this는 마치 public 멤버 변수와 유사하게 작동
- Foo1안쪽의 지역변수 x는 인스턴스 생성 기간 동안 존재, 반환과 함께 사라짐
=> 함수 호출 동작 방식과 동일
=> 이미 제거되었기 때문에 인스턴스 foo1에서 참조 불가능
- Foo2의 인스턴스 foo2에서는 x 참조 가능
=> 인스턴스의 실행 컨텍스트를 가리키는 this에 생성되었기 때문
=> 컨텍스트에 작성된 값은 컨텍스트의 라이프 사이클 동안 유지
=> 즉, foo2가 메모리에서 제거되기 전까지 x 값은 유지(public 멤버 변수와 유사하게 작동)
8. 함수의 멤버 함수(메소드)도 this에 추가되어야 인스턴스에서 사용 가능
9. prototype: 동적으로 속성이나 메소드를 추가 할 수 있다
=> 함수의 모든 인스턴스에 즉시 반영됨
함수에 직접 추가된 속성은 함수의 생성자로 만들어진 인스턴스에서는 사용할 수 없음을 주의해야한다. 생성자가 만들어낸 인스턴스에서 재새용될 메소드나 속성은 반드시 prototype에 추가한다.
=> ?? 무슨말이지 이해가안되넹.. 찾아볼것
함수의 특징 (4) (0) | 2017.09.12 |
---|---|
함수의 특징 (3) (0) | 2017.09.12 |
함수의 특징 (1) (0) | 2017.09.12 |
함수 특징 (0) | 2017.09.08 |
문제와 답 프로그램 (3) - forEach 사용 (0) | 2017.09.04 |