함수
[TIL] JS 함수, 클로저, call(), apply(), bind(), 구조분해할당
✍ Today I Learned [함수 Functions] 익명 함수란? 말 그대로 이름이 없는 함수. 예를 들면 함수 표현식에서 사용되는 함수는 변수를 통해 호출하기 때문에 함수 이름이 필요하지 않다. const x = function (a, b) {return a * b}; let z = x(4, 3); 함수를 만들어내는 자바스크립트 내장 함수 Function() 생성자를 사용하여 함수를 만들 수도 있다. 그러나 위의 익명 함수 코드와 동일하게 작동하기 때문에 굳이 사용할 필요는 없다. const myFunction = new Function("a", "b", "return a * b"); let x = myFunction(4, 3); 자바스크립트는 초기화가 아닌 선언만 호이스팅 되기 때문에 변수 선..
[JavaScript] 함수 선언문 vs 함수 표현식
자바스크립트의 함수 정의 자바스크립트의 함수를 정의하는 방식은 크게 3가지가 있다. 함수 선언문 함수 표현식 화살표 함수(arrow function) 이 중 함수 선언문과 함수 표현식에 대해 알아보자. 함수 선언문 일반적으로 function 키워드, 함수 이름, 괄호로 둘러싼 매개변수, 중괄호로 둘러싼 실행문을 통해 선언하는 함수를 의미한다. function 함수이름(매개변수1, 매개변수2,...) { 함수가 호출되었을 때 실행하고자 하는 실행문; } 위와 같은 방식으로 아래의 함수를 만들 수 있다. function sayHi() { alert( "Hello" ); } 함수 표현식 함수 선언문으로 정의했던 sayHi() 함수를 함수 표현식으로 생성해보자. const sayHi = function() { ..
[TIL] JS 함수, 객체, 이벤트
✍ Today I Learned 항상 능동적으로 공부할 것! 함수를 사용하면 효율성이 올라간다. arrow function을 이용하면 함수 코드의 양을 줄이면서 변수화 할 수 있다. 그러나 return이 없는 함수라면 굳이 쓰는 의미가 없다. 객체란? 개념적으로 인지 가능해야 함 고유적인 이름으로 구분해야 함 시작과 끝이 반드시 존재해야 함 값이 바뀌어도 객체 자체의 주소값은 바뀌지 않기 때문에 객체는 const로 선언한다. 객체 안에 arrow function을 사용할 수도 있지만 정보가 많아 가독성이 중요하기 때문에 잘 사용하지 않는다. this 키워드는 내가 소속된 객체를 가리킨다. JSON (JavaScript Object Notation)은 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기..
[JavaScript] 자바스크립트의 함수(Function)
함수란? 함수(Function)란 특정 작업을 수행하도록 설계된 독립적인 코드 블록을 의미한다. 필요할 때마다 호출하여 해당 작업을 반복해서 수행할 수 있다. (호출이 되어야만 작동한다.) 함수의 정의 일반적으로 function 키워드 사용 기능적 의미를 담은 함수의 이름 괄호 안에 쉼표(,)로 구분되는 함수의 매개변수(parameter) (없어도 가능하다.) 중괄호({})로 둘러싸인 자바스크립트 실행문 function 함수이름(매개변수1, 매개변수2,...) { 함수가 호출되었을 때 실행하고자 하는 실행문; } // addNum라는 이름의 함수를 선엄함. (함수 선언문) function addNum(x, y) { // x, y는 이 함수의 매개변수임. document.write(x + y); } add..
[TIL] JS 연산자, 함수
✍ Today I Learned 논리 연산자의 우선순위에 따라 코드의 효율성이 달라진다. (우선순위 :! > && > ||) 삼항 연산자는 유일하게 피연산자를 3개나 가지는 조건 연산자이다. 짧은 if/else문 대신 사용할 수 있지만, 가독성이 떨어진다는 단점이 있다. // 표현식 ? 반환값1 : 반환값2 let x = 3, y = 5; let result = (x > y) ? x : y // x가 더 크면 x를, 그렇지 않으면 y를 반환함. console.log("둘 중에 더 큰 수는 " + result + "입니다."); 함수는 대부분 개발자가 직접 만들어낸 일반적 기능을 하는 것을 의미하고 메서드는 객체에 소속되어 있는 함수를 의미한다. 파라미터의 데이터 타입은 자유도가 높다. 자바스크립트는 스크..