여러가지 상황에서 this context 의 개념을 제대로 알고 있는가
function call, apply, bind를 자유자재로 구사할 수 있는가
prototype chain을 제대로 이해하고 있는가
이정도 알면 자바스크립트를 어느정도 사용할 줄 아는거임
여러가지 상황에서 this context 의 개념을 제대로 알고 있는가
function call, apply, bind를 자유자재로 구사할 수 있는가
prototype chain을 제대로 이해하고 있는가
이정도 알면 자바스크립트를 어느정도 사용할 줄 아는거임
반드시 알아야 하는 개념이 그것만 있는 건 아님. Object.xxx 메서드에 대해서도 알고 있어야 하고, 제일 중요한 게 클로져(Closure)지.
자바스크립트에서 this는 무조건 호출한 함수임 function call이란 함수를 호출한다는 뜻임 apply란 함수를 호출할때 인자를 무조건 배열로 만들어버린다는거임 bind는 묶는다는건데 어렵게말해서 함수를 함수안에집어너븐다는뜻임 프로토타입체인이란 객체에는 프로토타입이라는 숨겨진 내부함수가있는데 이 내부함수를 끄집어내븐다는말임
나 잘하지
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
클로저는 저 위에 거를 제대로 이해하려면 필연적으로 이해하고 있어야됨
ㅅㅅㅅ 의 말에 설명을 하자면 클로져라는것은 함수에 private속성을 너브러서 호출을 못하게한다는거임
다틀림
Object.xxx 와 같은 메서드중에는 새로나온 Object.create가 있는데 객체를 명시적으로 만들어버린다는거임
이 모든걸 어떻게 알았냐구???
http://blog.naver.com/hongil221
가면 친저한 그림설명이~
아주 옛날엔 Object.watch/Object.unwatch 같은 메서드로 속성 후킹도 했는데, 저거 브라우저들이 지원 안하기 시작하면서 이후에 defineGetter/defineSetter 같은 거 나옴.
Function.call은 그냥 함수 호출이고(Function(...)와 같음. 다만 다른 건 this를 바꿀 수 있음), Function.apply는 함수 호출인데 arguments 배열을 direct로 넘겨주는 거지.
Function.bind는 해당 상황에 맞는 함수 만들어주는 건데 lazy evaluation 같은 거 구현할 때 흔히 씀.
ㅅㅅㅅ말은 다 틀렸다 내말이진실이다 속지말아라!
개념 자체는 mdn 문서에 친절하게 설명이 잘되어있는데 제대로 이해하고 체화해서 사용하는게 쉽지 않음
jquery는 아는가?
제이쿼리는 자바스크립트가 아님 완전히 다른 언어임