내가 듣는 인프런 강좌에 질문이 올라왔길래 답변을 단 내용을 내 블로그에도 공유해본다. :) 강의에서 let/const 는 호이스팅이 안된다라고 말하셨는데 MDN문서에는 된다라고 써있어서 헷갈리시는 거 같아요. 그래서 제가 MDN 문서도 읽고 좀 테스트 한 내용을 기반으로 설명해보겠습니다. :) Variables declared with let and const are also hoisted but, unlike var, are not initialized with a default value. 우선 Hoisting 이란, 자바스크립트 엔진이 전체 소스를 미리 훓어서 변수 또는 function을 미리 찾아내어 미리 등록하는 하는 것이고, 이로 인한 장점은 소스 순서에 상관없이 해당 변수를 호출하는 곳에서..
최근에 자바스크립트를 보다가 이게 뭐지 라고 생각하는 것이 있어서 간단히 예제를 찾아서 공유한다. 영어로는 destructuring assignment라고 부르는데 ES6에 나온 문법이라고 한다. 아래 예제를 보면 어떻게 사용해야 하는지 너무 이해하기 쉽다. 심지어 이렇게 좋은게 있었다니... 라는 생각조차 들었다. 예전같으면 object 내부의 property를 가져오기 위해 obj.a obj.b obj.c 이런씩으로 매번 써야했지만, 이 방식을 이용하면 const를 이용해서 변할수 없는 값으로 할당가능하기 때문에 코드가 너무 이뻐진다. 기억하자! :) const obj = { name: "Fred", age: 42, id: 1 } //simple destructuring const { name } =..
예전에 아는 윤모 부장님이 신입사원에게 보내셨던 이메일 내용이 유익해서 올려 봅니다.~~ 지난주에 몇개 명령어를 함수 파래매터로 주고 받을때 문자열을 아래처럼 주고 받고 그것을 비교해서제가 좀 놀랐었는데... if( direction == "backward" ){ : : } else if ( direction == "forward" ){ : : 왜냐면 Java 프로그래밍 할때 일반적으로 이런경우는 숫자(상수)로 만들어서 넘기고 비교하거든요.그것도 그럴것이 문자열의 비교가 상수의 비교보다 수십배 비싸기 때문에. (물론 String.equals를 사용한 경우) 그래서 JavaScript에서는 어떤지 간단히 테스트 해봤는데,앞선 메일에서 간략하게 말씀드렸지만, " " 기호로 만든 진짜 문자열 (문자열 Obje..
function을 new하는 메소드는 어떻게 생겼을까? Source if(typeof Object.create !== 'function'){ var Object = function(o){ return { create:function(){ var F = function(){}; F.prototype = o; return new F(); } } }; } Function.prototype.kkk = function() { var that = Object.create(this.prototype); var other = this.apply(that, arguments); return (typeof other === 'object' && other) || that; }; function add() { return ..
0.정의()가 없냐 있느냐에 따라 호출하는 방식과 그것이 의미하는 것이 달라진다. 일단 ()의 의미를 간단하게 실행이라고 생각하고 아래의 예제를 보자. 1.()가 없는 경우 Sourcevar serial_maker = function(){ var prefix=' '; var seq=0; return{ set_prefix:function(p){ prefix = String(p); }, set_seq:function(s){ seq = s; }, gensym:function(){ var result = prefix +seq; seq +=1; console.log(">>" + result); return result; } };};호출방법 var seqer = serial_maker();seqer.set_pref..
Javascript에서의 This는 자바의 개념과는 다르다. 자바에서는 언제나 자기자신을 가르키지만 여기에서는 의미가 계속적으로 변경된다.그래서 아직도 많이 헷갈리고, 아리까리 하지만, 테스트 통해 일단 기본적인 것들을 정의해보려고 한다. 자바스크립에서 function을 콜할 수 있는 방법은 다음과 같이 4가지이다. Function form functionObject(arguments) Method form thisObject.methodName(arguments) thisObject["methodName"](arguments) Constructor form new functionObject(arguments) Apply form functionObject.apply(thisObject, [argumen..
- Total
- Today
- Yesterday
- RHEL
- 미시사가
- docker
- 캐나다
- TORONTO
- basement
- 온타리오
- 토론토
- certification
- 우드워킹
- 옥빌
- 부모님초청이민
- Canada
- 캐나다부동산
- 밀튼
- BC주
- BTBS
- git proGit
- 토론토정착서비스
- RHCE
- Jay
- 인터넷
- ansible
- 벌링턴
- 부동산분석
- cert
- redhat
- 정착서비스
- Red Hat
- Certificate
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |