본문 바로가기

WEB/JavaScript43

생성자 객체란 서로 연관된 변수와 함수를 그룹핑한 그릇이라 할 수 있다. 객체 내의 변수를 프로퍼티(property)함수를 메소드(method)라고 부른다. * 우측 그림은 객체를 정의 할 때 값을 셋팅한 코드이다. 생성자(constructor) * 객체를 만드는 역할을 하는 함수이다. JavaScript에서 함수는 재사용 가능한 로직의 묶음이 아니라 객체를 만드는 창조자라고 할 수 있다. * 위 그림처럼 함수를 호출할 때 new를 붙이면 새로운 객체를 만든 후에 이를 리턴한다. 이 함수를 생성자라고 한다.* 여러사람을 위한 객체를 만들어야 할 때 위처럼 작성한다. 생성자 내에서 이 객체의 프로퍼티를 정의하고 있는데, 이를 '초기화'라고 한다. *일반적인 객체지향 언어에서 생성자는 클래스의 소속이다. 하지만 J.. 2016. 10. 13.
arguments arguments* 객체이다.* 함수 안에서 인자와 관련된 정보를 담고 있는 객체로 사용방법이 배열과 아주 유사하다. * 함수 sum이 인자에 대한 정의가 없음에도 마지막 행 sum(1, 2, 3, 4)에서 4개의 인자를 전달하고 있다. 함수를 정의할 때 인자에 대한 구현이 없음에도 인자를 전달 할 수 있는 것은 arguments하는 특수한 배열이 있기 때문이다.* arguments는 함수안에서 사용할 수 있도록 이름이나 특성이 약속되어 있는 일종의 배열이다. arguments[0]으로 함수로 전달된 첫번째 인자를 알아낼 수 있고, arguments.length를 통해 함수로 전달된 인자의 개수를 알아낼 수도 있다.* 매개변수 arguments.length는 함수로 전달된 실제 인자의 수를 의미하고, 함.. 2016. 10. 12.
클로저 클로저* 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것.내부함수는 외부함수의 지역변수에 접근할 수 있다. * 유효범위 체인을 이용하여 이미 생명주기가 씉난 외부 함수의 변수를 참조하는 방법. ※ 유효범위 체인 ( Scope Chain) : 함수가 중첩함수일 때 상위함수의 유효범위까지 흡수하는 것.즉, 하위 함수가 실행되는 동안 참조하는 상위 함수의 변수 또는 함수의 메모리를 참조하는 것이다. : 해당 함수를 호출한 부모 함수가 가진 변수 객체가 실행 문맥의 리스트에 추가된다.즉, 중첩 함수를 정의하면 전역 변수의 객체, 상/하위 객체간에 부모/자식 관계가 형성되고, 함수가 실행될 때 유효범위를 생성하고, 해당 함수를 호출한 부모 함수가 가진 변수 객체가 실행 문맥의 리스트에 추가된다. .. 2016. 10. 12.
함수, 콜백, 비동기 처리 JavaScript에서는 함수가 값이 될 수 있다. 1. function a() { } 가 함수 a는 변수 a에 담겨진 값이기 때문이다.2. 함수는 객체의 값으로 포함될 수 있는데, 이처럼 객체의 속성 값으로 담겨진 함수를 메소드(method)라고 한다.a = {b : function() {}}3. 함수는 다른 함수의 인자로 전달 될수도 있다. 4. 함수는 함수의 리턴 값으로도 사용할 수 있다. 5. 배열의 값으로 사용할 수 있다. 콜백* 어떤 함수가 수신하는 인자가 함수인 경우를 콜백이라고 한다. * 좌측 그림은 배열을 sort메소드를 이용해 정렬했다. * 우측 그림 처럼 함수를 인자로 받아 동작이 완전히 뒤바뀐다. 이때 sortNum()을 콜백함수라 한다.* 즉, 오리지널 함수의 동작을 값을 통해 완.. 2016. 10. 12.
반응형