달빛약속 / core/mod / FunctionInvoke
Class: FunctionInvoke
선언된 함수(약속)를 호출하는 AST 노드입니다.
Example
약속, 더하기 (A) (B)
A + B 반환하기
(더하기 1 2) 보여주기 // FunctionInvoke 노드가 생성되는 부분
Extends
Indexable
[key
: string
]: unknown
Constructors
new FunctionInvoke()
new FunctionInvoke(
props
,tokens
):FunctionInvoke
Parameters
props
name
string
params
Record
<string
, Evaluable
<ValueType
>>
tokens
Token
[]
Returns
Overrides
Defined in
Properties
name
name:
string
Defined in
params
Defined in
tokens
tokens:
Token
[]
Inherited from
Defined in
friendlyName
static
friendlyName:string
='약속 사용하기'
Overrides
Defined in
Accessors
value
Get Signature
get value():
string
Returns
string
Defined in
Methods
execute()
execute(
scope
,args
?):Promise
<ValueType
>
스코프에서 함수를 찾아 실행하고, 그 결과값을 반환합니다.
Parameters
scope
함수가 호출되는 현재의 스코프입니다.
args?
함수에 전달될 인자입니다. (선택 사항)
Returns
Promise
<ValueType
>
함수의 실행 결과값 (ValueType
)을 반환합니다.
Description
scope.getFunctionObject
를 통해 현재 또는 상위 스코프에서 호출할 함수 객체를 찾습니다.functionObject.run
을 호출하여 함수를 실행합니다. 이 때FunctionObject
는 자신이 기억하고 있던 선언 시점의 스코프를 부모로 하는 새로운 실행 스코프를 생성하여 함수 본문을 실행합니다.
Overrides
Defined in
toJSON()
toJSON():
object
Returns
object
Inherited from
Defined in
toPrint()
toPrint():
string
Returns
string
Inherited from
Defined in
validate()
validate(
scope
):YaksokError
<unknown
>[]
Parameters
scope
Returns
YaksokError
<unknown
>[]