CoffeeScript-함수
함수는 프로그램의 어느 곳에서나 호출 할 수있는 재사용 가능한 코드 블록입니다. 이렇게하면 동일한 코드를 반복해서 작성할 필요가 없습니다. 프로그래머가 모듈 식 코드를 작성하는 데 도움이됩니다.
함수를 사용하면 프로그래머가 큰 프로그램을 여러 개의 작고 관리 가능한 함수로 나눌 수 있습니다.
일반적으로 JavaScript를 사용하여 두 가지 유형의 함수를 정의 할 수 있습니다. named functions, 함수 이름 본문이있는 일반 함수 및 Function expressions. 함수 표현식을 사용하여 함수를 변수에 할당 할 수 있습니다.
//named function
function sayHello(){
return("Hello there");
}
//function expressions
var message = function sayHello(){
return("Hello there");
}
CoffeeScript의 기능
CoffeeScript의 함수 구문은 JavaScript에 비해 더 간단합니다. CoffeeScript에서는 함수 표현식 만 정의합니다.
그만큼 functionCoffeeScript에서는 키워드가 제거되었습니다. 여기서 함수를 정의하려면 얇은 화살표 (->).
뒤에서 CoffeeScript 컴파일러는 화살표를 JavaScript의 함수 정의로 변환합니다.
(function() {});
필수는 아닙니다. returnCoffeeScript의 키워드. CoffeeScript의 모든 함수는 함수의 마지막 문을 자동으로 반환합니다.
함수의 끝에 도달하기 전에 호출 함수로 돌아가거나 값을 반환하려면 다음을 사용할 수 있습니다. return 예어.
인라인 함수 (한 줄에있는 함수) 외에도 CoffeeScript에서 여러 줄 함수를 정의 할 수도 있습니다. 중괄호가 제거되었으므로 적절한 들여 쓰기를 유지하여이를 수행 할 수 있습니다.
함수 정의
다음은 CoffeeScript에서 함수를 정의하는 구문입니다.
function_name = -> function_body
예
아래는 CoffeeScript의 함수 예입니다. 여기에서 우리는greet. 이 함수는 그 안에있는 문을 자동으로 반환합니다. 이름으로 파일에 저장function_example.coffee
greet = -> "This is an example of a function"
명령 프롬프트에서 다음 명령을 실행하여 컴파일하십시오.
c:\>coffee -c function_example.coffee
컴파일시 다음 JavaScript 코드를 생성합니다. 여기에서 CoffeeScript 컴파일러가 이름이 지정된 함수에서 문자열 값을 자동으로 반환하는 것을 볼 수 있습니다.greet().
// Generated by CoffeeScript 1.10.0
(function() {
var greet;
greet = function() {
return "This is an example of a function";
};
}).call(this);
여러 줄 기능
중괄호 대신 들여 쓰기를 유지하여 여러 줄로 함수를 정의 할 수도 있습니다. 그러나 우리는 함수 전체에서 한 줄에 대해 따르는 들여 쓰기와 일치해야합니다.
greet = ->
console.log "Hello how are you"
컴파일시 위의 CoffeeScript는 다음과 같은 JavaScript 코드를 제공합니다. CoffeeScript 컴파일러는 들여 쓰기를 사용하여 분리하고 중괄호 안에 넣은 함수의 본문을 가져옵니다.
// Generated by CoffeeScript 1.10.0
(function() {
var greet;
greet = function() {
return console.log("Hello how are you");
};
}).call(this);
인수가있는 함수
아래와 같이 괄호를 사용하여 함수에 인수를 지정할 수도 있습니다.
add =(a,b) ->
c=a+b
console.log "Sum of the two numbers is: "+c
위의 CoffeeScript 파일을 컴파일하면 다음 JavaScript가 생성됩니다.
// Generated by CoffeeScript 1.10.0
(function() {
var add;
add = function(a, b) {
var c;
c = a + b;
return console.log("Sum of the two numbers is: " + c);
};
}).call(this);
함수 호출
함수를 정의한 후 해당 함수를 호출해야합니다. 다음 예제와 같이 이름 뒤에 괄호를 넣어 함수를 간단히 호출 할 수 있습니다.
add = ->
a=20;b=30
c=a+b
console.log "Sum of the two numbers is: "+c
add()
컴파일시 위의 예제는 다음과 같은 JavaScript를 제공합니다.
// Generated by CoffeeScript 1.10.0
(function() {
var add;
add = function() {
var a, b, c;
a = 20;
b = 30;
c = a + b;
return console.log("Sum of the two numbers is: " + c);
};
add();
}).call(this);
위의 CoffeeScript 코드를 실행하면 다음과 같은 출력이 생성됩니다.
Sum of the two numbers is: 50
인수로 함수 호출
같은 방식으로, 우리는 아래와 같이 인자를 전달하여 인자가있는 함수를 호출 할 수 있습니다.
my_function argument_1,argument_2
or
my_function (argument_1,argument_2)
Note − 인수를 전달하여 함수를 호출하는 동안 괄호 사용은 선택 사항입니다.
다음 예제에서 우리는 add() 두 개의 매개 변수를 받아들이고 호출했습니다.
add =(a,b) ->
c=a+b
console.log "Sum of the two numbers is: "+c
add 10,20
컴파일시 위의 예제는 다음 JavaScript를 제공합니다.
// Generated by CoffeeScript 1.10.0
(function() {
var add;
add = function(a, b) {
var c;
c = a + b;
return console.log("Sum of the two numbers is: " + c);
};
add(10, 20);
}).call(this);
실행시 위의 CoffeeScript 코드는 다음과 같은 출력을 생성합니다.
Sum of the two numbers is: 30
기본 인수
CoffeeScript는 기본 인수도 지원합니다. 다음 예제와 같이 함수의 인수에 기본값을 할당 할 수 있습니다.
add =(a = 1, b = 2) ->
c=a+b
console.log "Sum of the two numbers is: "+c
add 10,20
#Calling the function with default arguments
add()
컴파일시 위의 CoffeeScript는 다음 JavaScript 파일을 생성합니다.
// Generated by CoffeeScript 1.10.0
(function() {
var add;
add = function(a, b) {
var c;
if (a == null) {
a = 1;
}
if (b == null) {
b = 2;
}
c = a + b;
return console.log("Sum of the two numbers is: " + c);
};
add(10, 20);
add()
}).call(this);
위의 CoffeeScript 코드를 실행하면 다음과 같은 출력이 생성됩니다.
Sum of the two numbers is: 30
Sum of the two numbers is: 3