JavaScript

    함수에 적용할 수 있는 call, apply, bind

    함수 객체에 적용할 수 있는 메서드 3가지가 있다. 그것은 바로 call, apply, bind인데, call과 apply, bind의 공통점은 현재 실행되는 컨텍스트(this)가 무엇인지 바꿀 수 있다는 것이다. 기본적으로 객체가 아닌 이상 기본적으로 실행되는 컨텍스트는 window이다.(브라우저 기준) bind bind는 비교적 쉽다. 함수객체가 가리키고 있는 현재 컨텍스트(this)만 바꿔주는 역할을 한다. this만 바꿔주고 호출은 하지않는 역할을 한다. 함수 내부에서 this를 쓰면 bind에서 넘겨준 this를 사용하게 된다. call call은 함수객체의 현재 컨텍스트(this)도 바꾸지만, 함수를 호출해준다. Array.prototype.forEach.call(this, 인자) 여기선 인자..

    리액트 네이티브 웹뷰 자바스크립트 삽입(injection)

    React-Native WebView JavaScript 삽입 후 이벤트까지 네이티브로 실행시켜보는 예제이다. 버전은 0.61이고, 공식문서에는 window.postMessage라고해서 했더니 안되길래 버근줄알았는데 스택오버플로우에 window.ReactNativeWebView.postMessage란다.. 여하튼 해결! const appData = (event) => { Alert.alert(event.nativeEvent.data); } const eventScript = ` document.querySelector(".submit").addEventListener("click", function() { send(); }) function send() { window.ReactNativeWebView...

    간단하게 알아보는 콜백(callback), 프로미스(promise), async, await

    ES5, ES6, ES7에 따라 조금씩 형태가 변했다고 볼 수 있다. 필요한 도메인 지식 자바스크립트의 함수는 일급객체(first-class object)이다. 즉, 함수가 매개변수로 넘겨지거나 변수에 대입이 가능하다는 뜻이다. 그리고 고차 함수가 존재한다. 고차함수란, 함수를 매개변수로 받거나 함수를 리턴하는 함수를 말한다. 고로 콜백(callback) 함수가 존재한다. 콜백이란 불려지는 것을 의미한다. 콜백의 예시는 다음과 같다. function init(){ getDays((d)=>{ console.log(d.getDay()); }); } function getDays(fn){ var d = new Date(); fn(d); } 쉽게 생각하면, 매개변수로 함수를 전달받아 전달받은곳에서 호출하는 것이..

    React.js 프로젝트 생성 에러(윈도우10)

    Error: EPERM: operation not permitted, mkdir 'C:\Users\Paul' TypeError: Cannot read property 'get' of undefined at errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18) at C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js:83:20 at cb (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:214:22) at C:\Program Files\nodejs\node_modules\npm\lib\npm.js:252:24..