목록전체 글 (37)
보근은 참고 있다

JS의 함수 호출은 C/C++ 등의 엄격한 문법 체크를 하는 언어들과 달리 자유롭다. arguments 객체 JS는 함수를 호출할 때 함수 형식에 맞춰 인자를 넘기지 않더라도, 에러가 발생하지 않는다. function f(arg1, arg2) { console.log(arg1, arg2); } f();// undefined undefined f(1);// 1 undefined f(1, 2);// 1 2 f(1, 2, 3);// 1 2 함수에 정의된 파라미터가 들어오지 않으면 그냥 undefined로 할당해버린다. 반대로 함수에 정의된 인자의 개수보다 더 많은 인자가 들어오면 오류를 내지 않고 그 인자 값을 버려버린다. 작동이 멈추는 걸 최소화 하기 위한 JS의 특성 때문에 이런식으로 동작을 하지만, 런타..

함수의 생성 함수 선언문 함수 표현식 Function() 생성자 함수 //함수 선언문 function add1(x, y) { return x + y; } //함수 표현식 var add2 = function (x, y) { return x + y; }; // Function 생성자 함수 var add3 = new Function('x', 'y', 'return x + y'); console.log(add1(1, 2));// 3 console.log(add2(1, 2));// 3 console.log(add3(1, 2));// 3 위의 세 가지 방법으로 생성한 함수는 모두 똑같이 동작해서 같은 결과를 보여주지만, 동작 방식의 차이가 있다. 그중 하나가 함수의 호이스팅(Function Hoisting)이다. ..

배열은 특별한 형태의 객체이다. C나 Java의 배열과 기능은 비슷하지만, 크기가 가변적이며, 어떤 위치에 어떤 데이터 타입을 저장해도 에러가 생기지 않는다. 배열의 생성 배열 리터럴 객체의 중괄호처럼 배열의 리터럴은 대괄호 ( [ ] )를 이용하여 생성한다. 생성자 함수 new Array() 생성자 함수를 통해서 배열을 생성한다. var array1 = new Array();// 빈 배열 생성. console.log(array1);// [] console.log(array1.length);// 0 var array2 = new Array(3);// 길이가 3인 빈 배열 생성. console.log(array2);// [undefined, undefined, undefined] console.log(ar..