JavaScript 기본 상식 #3 (scope에 따른 this) JavaScript에서 "this"는 생각보다 복잡한 상황을 초래한다. 어떻게 보면 왜 그랬을까 싶기도 한데, 상황에 따른 복잡한 문제가 있는데, 모두 다룰 순 없고, 여기에서는, 익숙해지는 정도까지 진행해보고자 한다. 일반적으로 "this"는 scope는 "{}"에 기반한다고 이해하는 것이 보통은 편하다. console.log('What is this?, this); 결과는? (Chrome DevTools console) What is this? Window 여기 "Window"는 우리가 알고 있는 그 window이다. 그럼, 함수 내에서는 어떻게 표현되는지 확인해 보자! this.foo = 'window'; console.log('[Window Scope] What is foo?', this, this.foo); (function test1() { console.log('[Function Scope:Previous] What is foo?', this, this.foo); this.foo = 'global'; console.log('[Function Scope] What is foo?', this, this.foo); return { foo: 'local', bar: function () { console.log('[Function Scope:Inner] What is foo?', this, this.foo); } }; })().bar(); 결과는? (Chrome DevTools console) [Window Scope] What is foo? Window window [Function...
JavaScript Object 생성 * blogger에 highlight.js를 적용한 기념으로~~~~~~ ^^ 일반적으로 var Person = function () { }; 내부 프로퍼티 추가 var Person = function () { this.firstname = 'First Name'; // property 추가 }; 이부분에서 생성 방식을 Object와 비교 var obj = new Object(); console.log(obj.contructor === Object); // true // 생성 형태가 Number로 var obj = new Object(1); console.log(obj.contructor === Number); // true // 생성 형태가 String으로 var obj = new Object('1'); console.log(obj.contructor == String); // true // 생성 형태가 Boolean으로 var obj = new Object(true); console.log(obj.contructor == Boolean); // true See the Pen <a href='http://codepen.io/keiches/pen/RRpZvE/'>JavaScript Object Contruct 02</a> by Brian Kim(keiches) (<a href='http://codepen.io/keiches'>@keiches</a>) on <a href='http://codepen.io'>CodePen</a>. 이와 같이 하면, Person 생성자 함수(일명 class)를 만든 것이다. 그런데 문제가, "fullname()"함수는 hoisting 된 함수를 사용하기 때문에, 전역에 걸쳐 있는 함수를 참조하게 되고...
Android SDK 설치 후 환경 변수 설정하기 여러 설명이 있고, 그 상태 문구에 따라 혼동이 이는 경우가 많아, 따로 설명을 담아 기록해 놓는다. 가정 설치 위치: C:\Android 환경 변수 ANDROID_HOME : SDK가 설치된 곳의 "Sdk" 폴더 즉, "C:\Android\Sdk". 그래서, 아래와 같이 설정하면 됨 ANDROID_HOME=C:\Android\Sdk ANDROID_SDK_ROOT : SDK가 설치된 곳의 "Sdk" 폴더 (추후 제거될 수 있음) 즉, "C:\Android\Sdk". 그래서, 아래와 같이 설정하면 됨 ANDROID_SDK_ROOT=C:\Android\Sdk [ ANDROID_USER_HOME ](선택적): AVD가 생성되고, 필요한 파일 및 설정 파일이 저장될 위치 기본 값은, "C:\Users\Good Boy\.android", "C:\Users\착한 친구\.android"이 되나, 간혹 중간에 한국어 등이 있는 경우, 관리 측면에서 문제가 되는 경우가 있거나, 컴퓨터 전반에 고정된 위치로 파일을 관리하고 싶어서 그 위치를 바꾼다면, 즉, "C:\Android\Home"이라면, 아래와 같이 설정하면 됨 ANDROID_USER_HOME=C:\Android\Home 이 경우, Android Device Manager로 Virtual Device를 생성하면, "C:\Android\Home\avd" 이하에 파일이 생성되어야 함 기타, 필요한 정보는 " 환경 변수 | Android 스튜디오 | Android Developers "를 참고하자.
댓글
댓글 쓰기