자바스크립트 75

javaScript-함수3 (함수 호이스팅)

자바스크립트의 함수는 일급 객체이다. 함수가 일급 객체라는 것은 함수를 값처럼 자유롭게 사용할 수 있다는 것이다. 함수는 일급 객체이므로 함수 리터럴로 생성한 함수 객체를 변수에 할당할 수 있다. 이러한 함수 정의 방식을 함수 표현식이라고 한다. 함수 표현식의 함수 리터럴은 함수 이름을 생략하는 것이 일반적이다. // 기명,익명 함수 표현식 var add = function foo (x, y){ return x + y }; // 함수 객체를 가리키는 식별자로 호출 console.log(add(2, 5)); // 7 // 함수 이름은 호출하면 ReferenceError가 발생한다. // 함수이름은 함수 몸체 내부에서만 유요한 식별자다. console.log(foo(2, 5)); // ReferenceErr..

카테고리 없음 2023.02.17

javaScript-함수2 (함수 선언문)

함수 정의 함수 정의란 함수를 호출하기 이전에 인수를 전달받을 매개변수와 실행할 문들, 그리고 반환할 값을 지정하는 것을 말한다. 함수 선언문 function add(x, y){ return x + y; } 함수 표현식 var add = function (x, y){ return x + y; } function 생성자 함수 var add = new Function('x', 'y', 'return x + y'); 화살표 함수 var add = (x, y) => x + y; 함수 선언문 // 함수 선언문 function add(x, y){ return x + y; } // 함수 참조 // console.dir은 console.log와 달리 함수 객체의 프로퍼티까지 출력한다. console.dir(add); ..

JavaScript 2023.02.17

javaScript-함수1

함수란 자바스크립트에서 중요한 개념이다. 프로그래밍의 함수와 수학의 함수는 같은 개념이다. 함수 (x,y) = x + y를 자바스크립트의 함수로 표현하면 // f(x, y) = x + y function add(x,y) { return x + y; } // f(2, 5) = 7 add(2, 5); //7 프로그램이 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수는 함수 정의를 통해 생성한다 함수 선언문으로 // 함수 정의 function add(x, y){ return x + y; } 함수 정의만으로 함수가 실행되지는 않는다. 인수를 매개변수를 통해 함수에 전달하면서 실행을 명시적으로 지시해야 한다. 이를 함수호출 이라고 한다. // 함수 호출 ..

JavaScript 2023.02.17

javaScript-객체 리터럴

자바스크립트는 객체 기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 모든 것이 객체다. 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다. var person = { name: 'Lee', age: 26 } 여기서 name: 'Lee', 전체를 프로퍼티라고 하고, name을 프로퍼티 키, 26을 프로퍼티 값이라고 한다. 여기서 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드 라고 부른다. 예시로 var counter = { num:0, increase: function(){ this.num++; } }; 여기서 num:0, 은 프로퍼티, increase: funtion(){ t..

JavaScript 2023.02.15

JavaScript-for

for문을 다시 공부하면서 for ( var = i; i < 20; i++){ console.log(i); } 반복문인 for문을 사용하면 i는 20보다 클 때 까지 1씩 증가한다. 하지만 나는 var는 코드량이 많아질 때 오류가 발생할 수 있다는 말을 듣고 변수 선언을 할 때 const를 사용하였다. 하지만 작동하지 않았다, 둘 다 같은 변수 선언인데 왜 안되나 했더니 const는 변수 재할당 및 재선언이 불가능하기 때문이다. 구글링을 통해서 const, var, let의 차이를 다시 알게 되었고 요즘 코딩의 자리를 위협한다는 chat GPT을 이용해서 더 자세히 알게되었다. 아직 코딩을 공부하는 나에게는 코딩의 자리를 위협하는 AI가 또 하나의 선생이자 더 깊이 알 수 있게한다는 모순이 있지만 모든 ..

JavaScript 2023.02.13