본문 바로가기

javascript20

[Function]this, apply, call arguments 함수에서는 인자 개수가 부족하면 undifined로 된다. 인자 개수에 맞지 않게 다양하게 호출해보면 알 수 있다. this js에서 함수를 보면 this를 많이 사용한다. 굉장히 단순하다. 함수를 호출한 객체가 this이다. var obj = { name : "obj"; add : function(){ console.log(this.name); } } obj.add(); 호출한 객체가 obj이기 때문에 this.name 은 "obj"가 된다. var obj2 = {name: "obj2"}; obj2.fun = obj.add; obj2.fun(); 이렇게 하면 호출한 객체가 obj2이기 때문에 this.name 은 "obj2"가 된다. 객체에서 속성으로 함수를 추가하여 호출하면 this.. 2020. 6. 1.
[Function] Function property 함수 객체를 만들면 속성이 추가 가능하다. function add(x,y){ return x+y; } add.name = 'add function'; 위와 같이 함수를 만들고 속성을 추가하면 함수 객체에는 다음과 정보로 구성된다. [[CODE]] ---> return x+y; name ---> 'add function' 즉, 파라미터나 파라미터 개수와 같은 정보들도 등록되있다. 위에서 만든 add 함수를 만들었다. add라는 이름만을 쓰면 함수의 참조값으로 사용된다. c의 함수 포인터처럼 함수 이름만을 사용하면 주소값이 전달되는 것처럼 파악된다. 또한 리턴문에 function(){}와 같은 함수를 리턴하게 되면 동일하게 함수의 참조값이 전달된다. ECMA5 명세에서 모든 함수는 length, protot.. 2020. 5. 31.
[Function] Funtion create js에서 function을 만들어보자. 방식 1 function add(x,y) { return x+y; } c와 python을 섞어둔 모습같다. python과 같이 매개변수와 리턴값에 대한 타입을 안 적는다. 방식2 var sum = funtion add(x,y){ return x+y; }; 방식 2에서 } 뒤에 세미콜론을 써야한다. 방식 1과 2는 엄연히 구조가 다르다. 방식 1, 2의 구조 방식1 functionadd(x,y){ return x+y} 방식2 sum----> functionadd(x,y){return x+y} 방식2를 함수 표현식이라고 칭한다. 다른 디테일이 있지만 단순하게 사용하고 추후에 살펴보는 것이 헷갈리지 않고 좋다. 방식3 var sum= new Function('x', 'y.. 2020. 5. 31.
[Operator] Primitive type & standard method 기본타입에는 number, string, boolean이 있다고 했다. 객체가 아닌 기본 타입들을 위한 메서드가 제공이 될까? 답은 제공이 된다. 객체로 변환되어 처리된 후 다시 기본 타입으로 돌아간다. var myStr = "abcdefg"; console.log(myStr.chatAt(2)); 두 줄을 실행하면 myStr에 대하여 2번째 인덱스에 해당하는 문자를 가져오려고 할 것이다. 하지만 기본타입은 객체가 아니기 때문에 객체로 변환되어 처리하는 방식이다. 2020. 5. 30.