JavaScript에서 실제로 "함수"란 무엇입니까?

2526 단어 javascript
JavaScript에서 함수는 일급 객체입니다.

이제 일급 객체가 무엇인지 묻습니다.

답변: JavaScript의 다른 객체와 마찬가지로 함수도 객체입니다. 속성과 연결된 메서드가 있을 수 있습니다. 그러나 그것들은 Function 개체라는 점에서 다른 개체와 다릅니다.

Focus your attention on this keyword: Function



함수는 함수의 인스턴스를 만드는 생성자입니다. 즉, Function 생성자는 함수 객체를 만드는 데 사용됩니다. 이것은 다른 프로그래밍 언어에서와 마찬가지로 클래스의 생성자를 호출하여 해당 클래스의 인스턴스(객체)를 시작한다는 것을 의미합니다. 마찬가지로 여기서 Function 생성자를 호출하면 함수를 동적으로 생성할 수 있습니다.

객체에 속성과 메서드가 있는 것처럼 JavaScript의 함수에도 속성과 메서드가 연결되어 있을 수 있습니다.

기능 속성:



인수, 길이, 이름 등과 같은 함수의 다양한 속성이 있습니다. More details...

기능 방법:



call(), apply(), bind() 등과 같은 다양한 메서드가 있습니다. 이러한 메서드에 대한 자세한 내용은 나중에 다른 기사를 게시하겠습니다. 지금 확인하고 싶다면 click here.

통사론



Function 생성자 호출의 syntax:

new Function([arg1 [, arg2 [, ...argN]] ,] functionBody)



arg1, arg2, ...argN: 함수 표현식에 전달된 인수에 해당합니다. 각각은 문자열 또는 문자열 목록이어야 합니다.

functionBody: 함수 본문 내부의 JavaScript 문. 문자열이어야 합니다.

이제 Function 생성자를 호출하는 예를 살펴보겠습니다.

// Creates a function that takes an argument of name, and returns the concatenated string containing the argument passed 
const greet = new Function('name', 'return "Hello " + name');

// Call the function
greet('John'); // Hello John

// Calling without argument
greet(); // Hello undefined

// It is equivalent to defining a function expression like this
const greet = function(name) {
    return 'Hello ' + name;
}

인수는 문자열이어야 합니다. Function 생성자에 전달된 모든 인수는 생성된 함수의 매개변수 이름으로 처리됩니다. 함수를 호출하는 동안 인수를 생략하면 해당 매개변수에 대해 정의되지 않은 값이 생성될 수 있습니다.

Thanks for reading! If you found this article helpful please share it with others so that they will also get the benefit.
Feedbacks are welcome: | |

좋은 웹페이지 즐겨찾기