Start IoT with JavaScript - 5.객체2Park Jonggun모바일 부터 하드웨어까지 가능하게 하는 가장 강력한 언어,
GITHUB 에서 가장 많은 프로젝트,
해커톤에서 가장 많이 사용되는 언어,
오바마 대통령도 배웠던 언어, 바로 자바스크립트입니다.
Javascript 함수(function) 개념, 호출패턴, this, prototype, scopeYoung-Beom RheeJavascript의 함수(Function)의 기본개념과, 호출패턴에 따라 달라지는 this, 상속을 가능하게 해주는 prototype, 다른 언어와 다른 scope에 대해 알아봅니다.
Javascript introduction, dynamic data type, operatorYoung-Beom Rhee대상 : Javascript를 언어로 처음 접하는 개발자
범위 : Javascript의 흐름, 문맥(Context)를 모르면 이해할 수 없는 Dynamic typing(동적 데이터 타입), 멘붕을 마음껏 선사할 헷갈리는 연산자
스파르탄스터디 E04 Javascript 객체지향, 함수형 프로그래밍Young-Beom RheeJavascript 객체지향, 함수형 프로그래밍에 대해서 알아봅니다.
prototype을 이용하여 상속을 구현하는 방법, 그리고 Closure와 Function을 이용한 강력한 함수형(Functional) 프로그래밍
Javascript 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context), Lexical En...Young-Beom RheeJavascript의 함수가 실행될때 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context)에 설정되는 것들과 주의할 점들
Start IoT with JavaScript - 4.객체1Park Jonggun모바일 부터 하드웨어까지 가능하게 하는 가장 강력한 언어,
GITHUB 에서 가장 많은 프로젝트,
해커톤에서 가장 많이 사용되는 언어,
오바마 대통령도 배웠던 언어, 바로 자바스크립트입니다.
Start IoT with JavaScript - 2.연산자Park Jonggun모바일 부터 하드웨어까지 가능하게 하는 가장 강력한 언어,
GITHUB 에서 가장 많은 프로젝트,
해커톤에서 가장 많이 사용되는 언어,
오바마 대통령도 배웠던 언어, 바로 자바스크립트입니다.
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)MIN SEOK KOO이것이 자바다 익명 객체 + Chap.11 기본 API 클래스(java) 발표용 PPT.
간단하게 정리한 것.
이것이 자바다 책을 기반으로 작성한 강의용 PPT입니다.
부족한 게 많으니 쓰실 때에는 추가하셔서 쓰세요~
참고 자료 : 이것이 자바다
사진 첨부 : http://palpit.tistory.com/
스파르탄스터디 E04 Javascript 객체지향, 함수형 프로그래밍Young-Beom RheeJavascript 객체지향, 함수형 프로그래밍에 대해서 알아봅니다.
prototype을 이용하여 상속을 구현하는 방법, 그리고 Closure와 Function을 이용한 강력한 함수형(Functional) 프로그래밍
Javascript 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context), Lexical En...Young-Beom RheeJavascript의 함수가 실행될때 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context)에 설정되는 것들과 주의할 점들
Start IoT with JavaScript - 4.객체1Park Jonggun모바일 부터 하드웨어까지 가능하게 하는 가장 강력한 언어,
GITHUB 에서 가장 많은 프로젝트,
해커톤에서 가장 많이 사용되는 언어,
오바마 대통령도 배웠던 언어, 바로 자바스크립트입니다.
Start IoT with JavaScript - 2.연산자Park Jonggun모바일 부터 하드웨어까지 가능하게 하는 가장 강력한 언어,
GITHUB 에서 가장 많은 프로젝트,
해커톤에서 가장 많이 사용되는 언어,
오바마 대통령도 배웠던 언어, 바로 자바스크립트입니다.
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)MIN SEOK KOO이것이 자바다 익명 객체 + Chap.11 기본 API 클래스(java) 발표용 PPT.
간단하게 정리한 것.
이것이 자바다 책을 기반으로 작성한 강의용 PPT입니다.
부족한 게 많으니 쓰실 때에는 추가하셔서 쓰세요~
참고 자료 : 이것이 자바다
사진 첨부 : http://palpit.tistory.com/
Start IoT with jQueryMobile - 기초6Park JonggunThis document introduces various jQuery Mobile fundamentals including select menus, flipswitches, sliders, text inputs, datepickers, and a next mission to make a mobile website. It provides brief descriptions of each element and how they enhance standard HTML elements for usability on mobile devices. It also includes links for additional information on the datepicker widget.
Start IoT with JavaScript - 7.프로토타입Park Jonggun모바일 부터 하드웨어까지 가능하게 하는 가장 강력한 언어,
GITHUB 에서 가장 많은 프로젝트,
해커톤에서 가장 많이 사용되는 언어,
오바마 대통령도 배웠던 언어, 바로 자바스크립트입니다.
Start IoT with jQueryMobile - 기초5Park JonggunThis document introduces the fundamentals of jQueryMobile including tables, filters, buttons, grids, checkboxes, and radio buttons. It provides descriptions and examples of each feature, noting that tables can be reflowed into a stacked presentation, elements can be filtered by text content, buttons and inputs are styled via classes, grids are invisible containers, and checkboxes and radio buttons are enhanced for selection. The document is based on examples from the jQueryMobile website.
Berry business planWoo Jin KimBerry is an app that allows users to discover restaurants through short 10-second video recommendations instead of long written reviews. The videos give a raw impression of the food and atmosphere to help users easily decide where to go in their city. By sharing video content, the app aims to make the dining decision process faster and more enjoyable for users.
Start IoT with jQueryMobile - 기초4Park JonggunThis document introduces jQueryMobile fundamentals including listviews, collapsibles, and collapsible sets. It discusses how to create inset and filtered listviews, add dividers and counts, and include icons and thumbnails. It also explains how to make collapsible blocks of content and collapsible sets by adding data attributes. The document is based on demos from http://demos.jquerymobile.com/1.4.0/.
소프트웨어 엔지니어의 한국/미국 직장생활Joon Hong시애틀지역의 한인 IT종사자모임 "창발" 2월 모임에서 발표했던 주제입니다.
한/미 양국에서 느꼈던 근로환경의 차이에 대해 이야기를 나누는 시기였어요.
http://changbal.com/kr-sde-and-us-sde/
[IT기술칼럼#2] 고급자바스크립트 for AngularJS, React_고급자바스크립트,AngularJS,React전문교육학원탑크리에듀(구로디지털단지역3번출구 2분거리)탑크리에듀(www.topcredu.co.kr), 송석원 교수의 IT기술칼럼#2
자바스크립트는 ES6버전에서 class 키워드를 도입했습니다. 자바스크립트는 객체지향 언어였지만 다른 객체지향언어처럼 사용하기에는 많은 불편함이 있었습니다. 심지어 자바스크립트는 객체지향언어라고 볼 수 없다고 하는 분들도 있었을 정도였죠. 최근에 선풍적인 인기를 얻고 있는 React, Angular 같은 기술은 클래스 문법을 채택했습니다. 따라서, 클래스 문법에 대한 이해가 깊다면 새로운 기술을 습득할 때 많은 도움이 될 것 입니다.
다른 객체지향 언어와 자바스크립트의 차이를 이해하지 못하고 사용하게 되면 많은 문제점이 발생합니다. 안타깝지만 자바스크립트를 사용하고 있는 개발자들 중에서도 제대로 이해하고 사용하시는분은 많지 않은 듯 합니다.
이를 해소하기 위해서 새로 도입한 문법이 class 키워드로 대표되는 클래스 문법입니다. 객체지향 개발방법의 익숙한 개발자들을 위해서 자바스크립트가 새로운 문법을 도입한 것 입니다. 개인적으로 “JavaScript: The Good Parts”의 저자이신 Douglas Crockford 님께서 이를 어떻게 생각하는지 궁금합니다. 자바스크립트를 자바처럼 사용하는 것에 우려를 표하셨었는데, 그 사이 많은 시간이 지났으므로 입장이 바뀌었을지 궁금하군요. 선도적인 개발자들은 ES6에서 도입한 클래스 문법이 좋은 것인가 나쁜 것인가를 갖고 토론을 하기도 합니다.
Start IoT with jQueryMobile - 기초3Park JonggunThis document introduces various jQuery Mobile fundamentals including tabs, panels, and popups. Tabs can be created using a navbar and listview. Panels provide flexible content displays like navigation, forms, and inspectors. Popups can contain basic content, menus, forms, or dialogs and are opened by linking to their ID. The document aims to expand the user's skills in these jQuery Mobile features.
Start IoT with jQueryMobile - 기초2Park JonggunThis document provides an overview of jQueryMobile fundamentals including toolbars, navbars, icons, and other features. It discusses how to set toolbars and navbars to fixed positions, add buttons to headers, group buttons, add navbars to headers and footers, include icons in navbars, and customize icon positions. It also provides a link to additional icon examples. The goal is to expand the user's knowledge of jQueryMobile fundamentals and get started using these features.
Start IoT with jQueryMobile - 기초1Park JonggunjQuery Mobile is a touch-optimized HTML5 framework that makes responsive web sites and apps accessible across all devices. It works across popular mobile, tablet, and desktop platforms using responsive design principles and HTML markup. Sample jQuery Mobile sites can be found at JQMGallery.com, and there are many compatible third-party plugins that utilize jQuery Mobile's theming, initialization, and configuration features.
[SCSA] Thinker 에서 Maker 로Park Jonggun2016.02.19 Samsung Convergence Software Academy 6기 특강
개인용 로봇이 대중화 되는 4차 산업시대. 단순 Thinker 가 아닌 행동으로 표현하는 Maker 가 되어 융복합 인재로 거듭나는 SCSA 인문대 교육생을 위한 특강
[IoT] MAKE with Open H/W + Node.JS - 5thPark JonggunIoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 4thPark JonggunIoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 3rdPark JonggunIoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 2ndPark JonggunIoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 1stPark JonggunIoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
누구나코딩을 V0.04Park JonggunCirculus 가 일반 개발 언어를 다루고 있어서, 처음 프로그래밍 언어를 접하는 사람에게 어렵게 다가가는 문제가 있어, 실제 로봇을 제어해 봄으로 써 프로그래밍을 익히는 Herculus 를 소개하는 자료입니다. 한글의 원리를 적용하여 누구나 쉽게 배울 수 있습니다.
TEDxSamsung BLUE FAIR 에 발표 자료입니다.
Circulus IntroductionPark JonggunExpand your dimension using CODE
CODING, 그것은 21세기 자신의 철학을 표현하고,
행동으로 전 세계에 영향을 줄 수 있는 뛰어난 언어이자 효율적인 도구입니다.
Circulus 는 CODING 을 통해 거리의 제약 없이 사람과 사람간에 대화를 나누고, 생각을 기계와 기계와의 연결을 통해 현실화 할 수 있는 세계를 제공합니다.
Service Site > http://www.circul.us
Intro Video > http://www.youtube.com/watch?v=WqexMZfv7DU
Facebook Group > https://www.facebook.com/groups/loofin/
2. 1. Function
2. Function 고급
2. Scope
3. Scope Chain
4. Parameter
5. Closure
Javascript 기초 6
선수 추천 과정
HTML5
CSS3
3. Function (1/3)
주어진 입력(파라미터)에 근거해 어떠한 처리를 실시하여 그 결과를 돌려주는 구조가
함수. Javascript는 디폴트로 많은 함수를 제공하고 있지만, 애플리케이션 개발자가
자기 스스로 함수를 정의할 수도 있음.
Javascript 기초6
인수
함수가 동작하기 위한 인자
값
함수
미리 정의한 처리 방식
반환 값
함수에 의한 처리의 결과
function 명령으로 정의 하기 (선언적 방식)
Function 생성자를 이용하여 정의 하기
함수 리터럴 표현으로 정의하기 (익명 함수)
함수 선언
3 가지 방식
4. Function (2/3)
함수 명을 선언할때 다음 두가지를 유의할 것
1 . 단순한 문자열이나 식이 아닌 식별자를 지정해야 함
2. 그 함수가 무엇을 처리하는지 이해할 수 있는 이름으로 (동사+명사 showMessage)
function 명령으로 정의하기
인수는 동작을 결정하기 위한 파라미
터로 여러개를 입력받을 때는 콤마로
단락을 구분 함. 함수 내부에서만 참조
할 수 있음
Function 생성자 경유로 정의
내장 객체인 Function 객체의 생성자
를 이용해 정의 가능하지만, 굳이 이용
할 장점이 많지 않음
함수 리터럴 표현으로 정의하기
Javascript 에서는 함수도 데이터형
의 일종임. 즉, 함수를 변수에 대입하
거나 어떤 함수의 인수로 건네거나 반
환값으로 함수를 주는 것 또한 가능
Javascript 기초6
5. Function (3/3)
Javascript의 함수 정의는 간단하나, 실제 코딩을 진행하는 경우 생각하지 못하 문제점
으로 문제를 겪을 수 있음. 함수 정의라 하더라도 기법에 따라 해석이 다르므로 주의해
야 함.
return 도중에 줄 바꾸지 말것
Javascript 문장 끝에 세미콜론을 붙
이는 것이 필수가 아니지만, 불필요한
혼란을 야기하기도 함
함수는 데이터형의 일종
함수는 데이터형의 일종으로, 함수를
수치형이나 문자로 전환이 가능하며,
변수처럼 호출 또한 가능 함
function 은 정적인 구조 선언
코드를 해석/컴파일 하는 타이밍에 함
수를 등록. 실행 시에는 코드내의 구조
의 일부분으로 어디라도 호출 가능
리터럴/Function은 실행시 판단
함수 리터럴이나 Function 생성자는
실행시 판단 되므로, 호출하는 곳보다
먼저 선언이 되어야 함
Javascript 기초6
6. Function 고급
Javascript 에서의 Function 의 중요성은 다른 언어보다 높음. 다양한 Function 의
기능과 개념을 알게되면 Javascript 를 이용하여 다양한 작업들이 가능함
Object 를 이용한 이름 부여 인수
이름 부여 인수를 통해 코드의 의미를
이해하기 쉽고 차례를 바꾸어도 되며,
인수의 수가 많아져도 관리가 용이
일회용 함수는 익명 함수로
일회용 함수는 이름을 부여하기 보다
는 익명 함수(함수 리터럴)을 이용하
여 코드를 간결 함. Ajax 에서 많이 사
용되는 기법임
함수의 인자로 함수를 이용 가능
Javascript 에서는 함수도 데이터 형
의 일정이므로 함수를 인수, 반환값으
로 취급할 수 있음. 이를 고계 함수
(Higher-order function) 이라 함
Javascript 기초6
7. Scope (1/3)
Scope 는 변수가 스크립트 안의 어느 장소에서 참조할 수 있는가를 결정하는 개념으로,
스크립트 전체에서 참조할 수 있는 Global Scope 와 정의된 함수 안에서만 참조할 수
있는 Local Scope 로 나뉨
변수 선언에 var 명령은 필수
함var 명령을 사용하지 않고 선언된
변수는 모두 글로벌 변수로 취급됨. 로
컬 변수를 정의하려면 반드시 var 명
령을 사용해야 함
스크립트 전체에서 참조할 있는 Scope
정의된 함수 안에서만 참조할 수 있는 Scope
Global Scope
Local Scope
로컬 변수는 함수 선두에 선언
함로컬 변수는 선언된 함수 전체에서
유효한 변수 임. 직관적 유효범위와 실
제 유효 범위가 어긋날 수 있으므로 주
의가 필요함
Javascript 기초6
8. Scope (2/3)
가인수는 기본적으로 로컬 변수로 처리 됨. 인수 값이 Value 형인 경우, 함수내에서 변
경이 일어나도 글로벌 변수 값에 영향이 없으나, 참조형인 경우, 메모리 주소 참조로 인
하여 결과적으로는 글로벌 변수의 값도 바뀌게 됨
Value 형
10
Global 변수 Local 변수
Global 실제 값 Local
Reference 형
10
100
100
200
200
200
200
200
[1, 2, 4, 8, 16]
200
[1, 2, 4, 8]
Javascript 기초6
9. Scope (3/3)
Javascript 는 Java, C 와는 달리, 블록 레벨의 Scope 는 지원하지 않으며, 함수 리터
럴과 Function 생성자로 함수를 정의할 때 리터럴은 Local 이지만, Function 생성자
로 생성한 경우 Global 변수로 취급이 된다
블록 레벨 스코프 미 지원
Javascript 의 경우 블록 레벨의 스코
프가 지원이 되지 않아, 블록(if)에서
빠져나온 이후에도 변수가 유효하게
사용될 수 있다.
Function 생성자는 글로벌
함수 리터럴은 Local 변수이지만,
Function 생성자를 통하여 함수를 생
성하게 되는 경우 글로벌 변수로 참조
하게 된다.
Javascript 기초6
10. functon ???(){
}
Scope chain
Javascript 에서는 Scope Chain 의 선두에 위치하고 있는 객체로 부터 순서대로
Property를 검색해, 매치하는 Property가 처음 발견된 곳에서 그 값을 채택 함
Call 객체
functon ???(){
}
Call 객체
Global 객
체 스크립트 전체
함수 내
부
중첩된 함수 내부
Scope 단위로 Global 객체, Call 객체 생성. 이것
들을 생성 순서대로 연결한 것이 Scope Chain
임
Javascript에서는 스크립트 실행시 내부 Global
객체를 생성. Global 변수와 Global 함수는
Global 객체의 Property나 Method임. Local
변수도 실은 Local Object 객체의 Property 이
다. Activation 객체 혹은 Call 객체라고 불림.
Javascript 기초6
11. Parameter
Javascript 는 파라메터의 수를 체크하지 않아서, 부여되는 인수의 수가 함수 측에서
요구하는 수와 다른 경우에도 이를 체크하지 않음. 생성하는 함수가 요구하는 이수의
개수를 자유롭게 변경할 수 있으며, callee 를 이용하여 자기 자신을 호출 가능
Parameter 수를 체크하지 않음
Javascript 는 부여되는 인수의 수가
함수측에서 요구하는 수와 다른 경우
에도 이를 체크하지 않음
callee 를 이용하여 재귀 호출
arguments 객체에서는 실행중인 함
수 자신을 참조할 수 있는 callee 프로
퍼티를 제공 함
가변길이 인수의 함수 정의
호출원의 사정상 인수의 개수가 변동
될 수 있는데,인수의 함수를 이용함으
로 써 유연하게 처리할 수 있음
Javascript 기초6
12. Closure (1/2)
Closure 는 로컬 변수를 참조하고 있는 함수 내의 함수이며, 일종의 기억영역을 제공해
주는 구조를 가지고 있음
var myClosure
=
closure(1);
function closure(init){
var counter = init;
return function(){
return ++counter;
}
}
변수 counter는
1
function(){
return ++counter;
}
myClosure(); 2
myClosure(); 3
myClosure(); 4
반환 값 함수
Literal
가인수 init 에 1세
트
로컬 변수 counter
변환값인 함수 Literal을
경유하여 로컬 변수를 참
조, 조작할 수 있다.
내부적으로 참조하고 있
는 로컬변수 counter도 함
께 남아있다. -> 데이터
의 보존장소(기억 영역)를
지닌 함수가 만들 어 짐
var myClosure1
=
closure(1);
function closure(init){
var counter = init;
return function(){
return ++counter;
}
}
글로벌 객
체
myClosure1
myClosure2
var myClosure2
=
closure(100);
Call 1-1
Call 1-2
Call 1-1
Call 1-2
counter=1 counter=100
함수 리터럴
(Closure)
함수 리터럴
(Closure)
Javascript 기초6
13. Closure (2/2)
각각의 호출마다 생성된 Call 객체는 별개의 것으로, 각각의 Call 객체에 속한 로컬 변
수 Counter 도 별개의 것이 됨. Call객체는 함수가 호출 될 때마다 생성되어 각각의
Scope 체인은 독립된 것, 그 안에 관리되는 로컬 변수 counter 도 별개의 것이 됨
closure 호출 시 생성
- 익명 함수를 나타내는 Call 객체
- closure 함수의 Call 객체
- 글로벌 객체
클로저 (Closure) 객체 (Object)
클로저를 감싸고 있는 부모 함수 생성자
클로저로 부터 참조되는 로컬 변수 프로퍼티
클로저 자신 메소드
클로저 리턴 함수 호출 인스턴스화
클로저를 대입하는 변수 인스턴스
closure 사용
변수에 들어가는 처리가 하나만 필요
한 경우는 클로저를 사용하고, 복수의
처리가 필요한 경우는 객체를 이용
Javascript 기초6