다음을 통해 공유


Expression class

값을 생성하기 위해 분석하거나 평가할 수 있는 식입니다. 이렇게 하면 여러 기본 제공 함수를 지원하고 런타임에 확장할 수도 있는 개방형 래퍼가 제공됩니다. 또한 예외가 없어야 하는 식 및 평가의 정확성에 대한 유효성 검사를 지원합니다.

생성자

Expression(string, ExpressionEvaluator, Expression[])

식 생성자입니다.

속성

children

자식 식입니다.

evaluator

식의 계산기입니다.

functions

함수 사전 => ExpressionEvaluator. 이 함수는 사용 가능한 모든 함수이며 사용자 지정 함수를 추가할 수 있지만 기본 제공 함수를 바꿀 수는 없습니다. 사전을 지우면 기본 제공 함수로 다시 설정됩니다.

returnType

식 평가의 예상 결과입니다.

type

식의 형식입니다.

메서드

andExpression(Expression[])

And 식을 생성하고 유효성을 검사합니다.

deepEquals(Expression)

식 간에 깊은 같음을 수행합니다.

equalsExpression(Expression[])

Equals 식을 생성하고 유효성을 검사합니다.

lambaExpression(EvaluateExpressionDelegate)

EvaluateExpressionDelegate에서 식 생성

lambda((arg0: any) => any)

람바 식에서 상태를 통해 식을 생성합니다. 예외가 catch되고 오류 문자열로 표시됩니다.

lookup(string)

이름으로 ExpressionEvaluator 함수를 조회합니다.

makeExpression(string, ExpressionEvaluator, Expression[])

식을 만들고 유효성을 검사합니다.

notExpression(Expression)

Not 식을 생성하고 유효성을 검사합니다.

orExpression(Expression[])

Or 식을 생성하고 유효성을 검사합니다.

parse(string, EvaluatorLookup)

식 문자열을 Expression 개체로 구문 분석합니다.

references()

메모리에 대한 정적 참조 경로를 반환합니다. 메모리에 대한 모든 정적 경로를 반환합니다. 계산된 요소 인덱스가 있는 경우 경로가 종료되지만 계산된 부분에서도 다른 경로를 가져올 수 있습니다.

referenceWalk(Expression, (arg0: Expression) => boolean)

식에서 정적 메모리 참조를 식별하는 보행 함수입니다.

setPathToValue(Expression, any)

속성 식을 값 식으로 구성하고 유효성을 검사합니다.

toString()

현재 Expression 개체를 나타내는 문자열을 반환합니다.

tryEvaluate(MemoryInterface | any, Options)

식을 평가합니다.

validate()

즉시 식의 유효성을 검사합니다.

validateTree()

식 트리의 유효성을 재귀적으로 검사합니다.

생성자 세부 정보

Expression(string, ExpressionEvaluator, Expression[])

식 생성자입니다.

new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])

매개 변수

type

string

ExpressionType의 식 형식

evaluator
ExpressionEvaluator

식의 유효성을 검사하고 평가하는 방법에 대한 정보입니다.

children

Expression[]

자식 식입니다.

속성 세부 정보

children

자식 식입니다.

children: Expression[]

속성 값

evaluator

식의 계산기입니다.

evaluator: ExpressionEvaluator

속성 값

functions

함수 사전 => ExpressionEvaluator. 이 함수는 사용 가능한 모든 함수이며 사용자 지정 함수를 추가할 수 있지만 기본 제공 함수를 바꿀 수는 없습니다. 사전을 지우면 기본 제공 함수로 다시 설정됩니다.

static functions: FunctionTable = new FunctionTable()

속성 값

returnType

식 평가의 예상 결과입니다.

ReturnType returnType

속성 값

식을 평가할 때 예상되는 결과입니다.

type

식의 형식입니다.

string type

속성 값

string

식의 형식입니다.

메서드 세부 정보

andExpression(Expression[])

And 식을 생성하고 유효성을 검사합니다.

static function andExpression(children: Expression[]): Expression

매개 변수

children

Expression[]

자식 절.

반환

새 식입니다.

deepEquals(Expression)

식 간에 깊은 같음을 수행합니다.

function deepEquals(other: Expression): boolean

매개 변수

other
Expression

기타 식입니다.

반환

boolean

True이면 식이 동일합니다.

equalsExpression(Expression[])

Equals 식을 생성하고 유효성을 검사합니다.

static function equalsExpression(children: Expression[]): Expression

매개 변수

children

Expression[]

자식 절.

반환

새 식입니다.

lambaExpression(EvaluateExpressionDelegate)

EvaluateExpressionDelegate에서 식 생성

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

매개 변수

func
EvaluateExpressionDelegate

식을 만드는 함수입니다.

반환

새 식입니다.

lambda((arg0: any) => any)

람바 식에서 상태를 통해 식을 생성합니다. 예외가 catch되고 오류 문자열로 표시됩니다.

static function lambda(func: (arg0: any) => any): Expression

매개 변수

func

(arg0: any) => any

평가할 ambda 식입니다.

반환

새 식입니다.

lookup(string)

이름으로 ExpressionEvaluator 함수를 조회합니다.

static function lookup(functionName: string): ExpressionEvaluator

매개 변수

functionName

string

조회할 함수의 이름입니다.

반환

함수 이름에 해당하는 ExpressionEvaluator 입니다.

makeExpression(string, ExpressionEvaluator, Expression[])

식을 만들고 유효성을 검사합니다.

static function makeExpression(type: string, evaluator: ExpressionEvaluator, children: Expression[]): Expression

매개 변수

type

string

ExpressionType의 식 형식입니다.

evaluator
ExpressionEvaluator

식의 유효성을 검사하고 평가하는 방법에 대한 정보입니다.

children

Expression[]

자식 식입니다.

반환

새 식입니다.

notExpression(Expression)

Not 식을 생성하고 유효성을 검사합니다.

static function notExpression(child: Expression): Expression

매개 변수

child
Expression

자식 절.

반환

새 식입니다.

orExpression(Expression[])

Or 식을 생성하고 유효성을 검사합니다.

static function orExpression(children: Expression[]): Expression

매개 변수

children

Expression[]

자식 절.

반환

새 식입니다.

parse(string, EvaluatorLookup)

식 문자열을 Expression 개체로 구문 분석합니다.

static function parse(expression: string, lookup?: EvaluatorLookup): Expression

매개 변수

expression

string

식 문자열입니다.

lookup
EvaluatorLookup

(선택 사항) 식을 구문 분석할 때 EvaluatorLookup 함수 조회. 기본값은 Expression.functions 테이블을 사용하는 Expression.lookup입니다.

반환

식 개체입니다.

references()

메모리에 대한 정적 참조 경로를 반환합니다. 메모리에 대한 모든 정적 경로를 반환합니다. 계산된 요소 인덱스가 있는 경우 경로가 종료되지만 계산된 부분에서도 다른 경로를 가져올 수 있습니다.

function references(): string[]

반환

string[]

정적 참조 경로 목록입니다.

referenceWalk(Expression, (arg0: Expression) => boolean)

식에서 정적 메모리 참조를 식별하는 보행 함수입니다.

function referenceWalk(expression: Expression, extension?: (arg0: Expression) => boolean): { path: string, refs: Set<string> }

매개 변수

expression
Expression

분석할 식입니다.

extension

(arg0: Expression) => boolean

있는 경우 템플릿 확장과 같은 항목에 대한 조회를 재정의하기 위해 호출됩니다.

반환

{ path: string, refs: Set<string> }

식의 접근자 경로입니다.

setPathToValue(Expression, any)

속성 식을 값 식으로 구성하고 유효성을 검사합니다.

static function setPathToValue(property: Expression, value: any): Expression

매개 변수

property
Expression

속성 식입니다.

value

any

value 식입니다.

반환

새 식입니다.

toString()

현재 Expression 개체를 나타내는 문자열을 반환합니다.

function toString(): string

반환

string

현재 Expression 개체를 나타내는 문자열입니다.

tryEvaluate(MemoryInterface | any, Options)

식을 평가합니다.

function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError

매개 변수

state

MemoryInterface | any

접근자 식을 평가할 전역 상태입니다. 사전일 수 있고, 그렇지 않으면 리플렉션이 속성에 액세스한 다음 인덱서에 액세스하는 데 사용됩니다.

options
Options

평가에 사용되는 옵션입니다.

반환

계산된 값 및 오류 문자열입니다. 문자열이 null이 아닌 경우 평가 오류가 발생했습니다.

validate()

즉시 식의 유효성을 검사합니다.

function validate()

validateTree()

식 트리의 유효성을 재귀적으로 검사합니다.

function validateTree()