# 유틸리티 함수

# 헬퍼 유틸리티

이 메서드는 사용자 정의 헬퍼를 구현할 때 유용합니다.

# Handlebars.SafeString(string)

템플릿이 렌더링될 때 string이 이스케이프되지 않도록 합니다.

new Handlebars.SafeString("<div>HTML Content!</div>");

안전한 문자열로 표시될 문자열을 구성할 때, 외부 콘텐츠는 Handlebars.escapeExpression 메서드를 사용하여 적절히이스케이 프되어야 보안 문제를 방지할 수 있습니다.

# Handlebars.escapeExpression(string)

전달된 문자열을 HTML 이스케이프하여 HTML 콘텐츠 내에서 텍스트로 렌더링할 때 안전하게 만듭니다.

Handlebars.Utils.escapeExpression(string);

문자열 값에 대해 &, <, >, ", ', `, = 를 HTML 엔티티 값으로 대체합니다. SafeString 값은 변경되지 않습 니다.

{{{ 표현을 제외한 모든 표현의 출력은 이 메서드를 통해 전달됩니다. 헬퍼가 SafeString 인스턴스를 통해 HTML 콘텐츠를반 환할 때도 가능한 코드 삽입을 방지하기 위해 이 메서드를 사용해야 합니다.

이 메서드는 Handlebars.Utils.escapeExpression에 별칭으로 정의되어 있습니다.

# Handlebars.createFrame(data)

블록 헬퍼가 자식 데이터 객체를 생성할 때 사용됩니다.

if (options.data) {
  var data = Handlebars.createFrame(options.data);
  data.foo = "bar";
  options.data = data;
}

데이터 상태를 수정하는 헬퍼는 새 프레임을 생성하여 자신을 격리하고 부모의 상태를 손상시키지 않아야 합니다. 일반적으로, 헬퍼 실행당 하나의 프레임만 생성하면 됩니다. 예를 들어, each 반복자는 모든 자식 실행에 대해 재사용되는 단일 프레임을생 성합니다.

# 일반 유틸리티

Handlebars는 Handlebars.Utils 객체를 통해 다양한 유틸리티 메서드를 제공합니다.

# Handlebars.Utils.isEmpty(value)

주어진 값이 비어 있는지 여부를 판단합니다.

Handlebars.Utils.isEmpty(value)

이 메서드는 내장된 ifwith 헬퍼가 실행 흐름을 제어하는 데 사용됩니다. Handlebars의 빈 값 정의는 다음과 같습니다:

  • 길이가 0인 배열
  • 0을 제외한 거짓 값

이는 Mustache behavior (opens new window)을 따르기 위한 것입니다.

# Handlebars.Utils.extend(obj, value)

objvalue에 정의된 모든 키로 확장하는 간단한 유틸리티 메서드입니다.

Handlebars.Utils.extend(foo, {bar: true})

이는 객체 foo에 키 bar를 값 true로 설정합니다.

# Handlebars.Utils.toString(obj)

일반적인 toString 메서드입니다.

# Handlebars.Utils.isArray(obj)

객체가 배열인지 여부를 판단합니다.

# Handlebars.Utils.isFunction(obj)

객체가 함수인지 여부를 판단합니다.

# Handlebars.log(level, message)

log 헬퍼에서 사용하는 로거입니다.

원하는 경우 재정의할 수 있습니다.

마지막 업데이트: 2024. 6. 5. 오후 11:37:24