핵심 API
이 API는 샌드박스 처리된 JavaScript와 함께 사용되어 Google 태그 관리자에서 맞춤 템플릿을 빌드합니다. 각 API는 require()
문으로 추가됩니다. 예:
const myAPI = require('myAPI');
addConsentListener
지정된 동의 유형의 상태가 변경될 때 실행할 리스너 함수를 등록합니다.
지정된 동의 유형의 상태가 '거부'에서 '동의'로, 또는 '동의'에서 '거부'로 변경될 때마다 지정된 리스너가 호출됩니다. 상태가 없는 동의 유형은 '동의'로 간주되므로 설정되지 않은 동의 유형이 '동의'로 업데이트되는 경우 리스너가 호출되지 않습니다. 리스너 함수는 코드가 적절한 횟수로 실행되도록 합니다.
예:
const isConsentGranted = require('isConsentGranted');
const addConsentListener = require('addConsentListener');
if (!isConsentGranted('ad_storage')) {
let wasCalled = false;
addConsentListener('ad_storage', (consentType, granted) => {
if (wasCalled) return;
wasCalled = true;
const cookies = getMyCookies();
sendFullPixel(cookies);
});
}
문법
addConsentListener(consentType, listener)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
consentType |
문자열 | 상태 변경을 수신 대기하는 동의 유형입니다. |
listener |
함수 | 지정된 동의 유형의 상태가 변경될 때 실행할 함수입니다. |
리스너가 호출되면 변경되는 동의 유형과 동의 유형의 새로운 값이 전달됩니다.
매개변수 | 유형 | 설명 |
---|---|---|
consentType |
문자열 | 변경되는 동의 유형입니다. |
granted |
불리언 | 지정된 동의 유형이 '동의'로 변경되는 경우 true인 불리언입니다. |
관련 권한
동의 유형에 대한 읽기 액세스 권한이 있는 access_consent
권한
addEventCallback
addEventCallback
API를 사용하면 이벤트 종료 시 호출되는 콜백 함수를 등록할 수 있습니다. 콜백은 이벤트의 모든 태그가 실행되었거나 페이지 내 이벤트 시간 제한에 도달한 경우 호출됩니다.
콜백에는 두 개의 값(함수를 호출하는 컨테이너의 ID, 이벤트에 대한 정보가 포함된 객체)이 전달됩니다.
문법
addEventCallback(callback)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
callback |
함수 | 이벤트 종료 시 호출할 함수입니다. |
eventData
객체에는 다음 데이터가 포함됩니다.
키 이름 | 유형 | 설명 |
---|---|---|
tags |
배열 | 태그 데이터 객체의 배열입니다. 이벤트 중에 실행된 모든 태그는 이 배열에 항목이 있습니다. 태그 데이터 객체에는 태그의 ID(id ), 실행 상태(status ), 실행 시간(executionTime )이 포함됩니다. 또한 태그 데이터에는 태그에 구성된 추가 태그 메타데이터도 포함됩니다. |
예
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
관련 권한
aliasInWindow
aliasInWindow
API를 사용하면 별칭이 필요한 특정 태그를 지원하는 데 도움이 되는 별칭(예: window.foo =
window.bar
)을 만들 수 있습니다. fromPath
에 있는 window
객체의 값을 toPath
에 있는 window
객체의 키에 할당합니다. 성공하면 true
, 그렇지 않으면 false
를 반환합니다.
문법
aliasInWindow(toPath, fromPath)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
toPath |
문자열 | 복사한 값을 붙여넣어야 하는 window 객체로의 경로로, 점으로 구분됩니다. 마지막 구성요소에까지 이르는 경로의 모든 구성요소가 window 객체에 이미 존재해야 합니다. |
fromPath |
문자열 | 복사할 값의 점으로 구분된 window 의 경로입니다. 이 값이 없으면 작업이 실패합니다. |
예
aliasInWindow('foo.bar', 'baz.qux')
관련 권한
toPath
및 fromPath
모두에 access_globals
가 필요합니다. toPath
에는 쓰기 액세스 권한이 필요하고 fromPath
에는 읽기 액세스 권한이 필요합니다.
callInWindow
정책에 따라 window
객체 외부의 경로에서 함수를 호출할 수 있습니다. 지정된 인수로 window
의 지정된 경로에서 함수를 호출하고 값을 반환합니다. 반환 유형을 샌드박스 처리된 JavaScript에서 지원되는 유형에 직접 매핑할 수 없는 경우 undefined
가 반환됩니다. 샌드박스 처리된 JavaScript에서 지원되는 여덟 가지 유형은 null
, undefined
, boolean
, number
, string
, Array
, Object
, function
입니다. 지정된 경로가 존재하지 않거나 함수를 참조하지 않는 경우 undefined
가 반환됩니다.
문법
callInWindow(pathToFunction, argument [, argument2,... argumentN])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
pathToFunction |
문자열 | 호출할 window 의 함수에 대한 경로로, 점으로 구분됩니다. |
args |
* | 함수에 전달할 인수입니다. |
관련 권한
execute
권한이 사용 설정된 access_globals
입니다.
callLater
함수 호출이 비동기식으로 발생하도록 예약합니다. 이 함수는 현재 코드가 반환된 후에 호출됩니다. setTimeout(<function>, 0)
과 동일합니다.
문법
callLater(function)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
function |
함수 | 호출할 함수입니다. |
copyFromDataLayer
데이터 영역의 키에 현재 할당된 값을 반환합니다. 원시 유형, 함수 또는 객체 리터럴인 경우 지정된 키의 값, 그렇지 않으면 undefined
입니다.
문법
copyFromDataLayer(key[, dataLayerVersion])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
key |
문자열 | 'a.b.c' 형식의 키입니다. |
dataLayerVersion |
숫자 | 데이터 영역 버전입니다(선택사항). 기본값은 2입니다. 1 값은 사용하지 않는 것이 좋습니다. |
관련 권한
copyFromWindow
window
객체에서 변수를 복사합니다. window
의 값을 샌드박스 처리된 자바스크립트에서 지원되는 유형에 직접 매핑할 수 없는 경우 undefined
가 반환됩니다. 샌드박스 처리된 자바스크립트에서 지원되는 여덟 가지 유형은 null
, undefined
, boolean
, number
, string
, Array
, Object
, function
입니다.
가져온 값 및 변환된 값을 반환합니다.
문법
copyFromWindow(key)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
key |
문자열 | 값을 복사할 window 의 키입니다. |
관련 권한
createArgumentsQueue
큐가 필요한 태그 솔루션을 지원하기 위해 인수 객체로 채워진 큐를 만듭니다.
fnKey
인수(createQueue
와 동일한 시맨틱스)를 사용하여 전역 범위(예: window
)에 함수를 만듭니다. 함수가 생성되면 이 API는 arrayKey
인수를 사용하여 window
에 배열을 만듭니다(존재하지 않는 경우).
fnKey
에 생성된 함수가 호출되면 인수 객체를 arrayKey
에 생성된 배열에 푸시합니다. API의 반환 값은 fnKey
에서 생성된 함수입니다.
이 함수에는 access_globals
권한에서 fnKey
및 arrayKey
에 대한 읽기 및 쓰기 설정이 필요합니다.
예:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
문법
createArgumentsQueue(fnKey, arrayKey)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
fnKey |
문자열 | 함수가 설정된 window 의 경로입니다(아직 없는 경우). 이 인수는 표준 점 표기법을 지원합니다. 키 경로가 없으면 예외가 발생합니다. 즉 fnKey 가 'one.two' 이면 예외가 발생합니다. |
arrayKey |
문자열 | 배열이 설정된 window 의 경로입니다(아직 없는 경우). 이 인수는 표준 점 표기법을 지원합니다. 키 경로가 없으면 예외가 발생합니다. 즉 arrayKey 가 'one.two' 이고 'one' 이라는 전역 객체가 없으면 예외가 발생합니다. |
관련 권한
createQueue
window
에 배열을 만들고(아직 없는 경우) 이 배열에 값을 푸시하는 함수를 반환합니다.
이 함수에는 access_globals
권한에서 arrayKey
에 대한 읽기 및 쓰기 설정이 필요합니다.
예:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
문법
createQueue(arrayKey)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
arrayKey |
문자열 | 배열이 설정된 window 의 키입니다(아직 없는 경우). 이 인수는 표준 점 표기법을 지원합니다. 키 경로가 없으면 예외가 발생합니다. 예를 들어 arrayKey 가 'one.two' 이고 'one' 이라는 전역 객체가 없으면 예외가 발생합니다. |
관련 권한
decodeUri
제공된 URI에서 인코딩된 문자를 디코딩합니다. 디코딩된 URI를 나타내는 문자열을 반환합니다. 잘못된 입력이 제공되면 undefined
를 반환합니다.
예:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
문법
decodeUri(encoded_uri)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
encoded_uri |
문자열 | encodeUri() 또는 다른 방법으로 인코딩된 URI입니다. |
관련 권한
없음.
decodeUriComponent
제공된 URI 구성요소에서 인코딩된 문자를 디코딩합니다. 디코딩된 URI 구성요소를 나타내는 문자열을 반환합니다. 잘못된 입력이 제공되면 undefined
를 반환합니다.
예:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
문법
decodeUriComponent(encoded_uri_component)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
encoded_uri_component |
문자열 | encodeUriComponent() 또는 다른 방법으로 인코딩된 URI 구성요소입니다. |
관련 권한
없음.
encodeUri
특수문자를 이스케이프 처리하여 인코딩된 URI(Uniform Resource Identifier)를 반환합니다. URI로 인코딩되어 제공된 문자열을 나타내는 문자열을 반환합니다. 잘못된 입력(론 서로게이트)이 제공되면 undefined
를 반환합니다.
예:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
문법
encodeUri(uri)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
uri |
문자열 | 전체 URI입니다. |
관련 권한
없음.
encodeUriComponent
특수문자를 이스케이프 처리하여 인코딩된 URI(Uniform Resource Identifier)를 반환합니다. URI로 인코딩되어 제공된 문자열을 나타내는 문자열을 반환합니다. 잘못된 입력(론 서로게이트)이 제공되면 undefined
를 반환합니다.
예:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
문법
encodeUriComponent(str)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
str |
문자열 | URI의 구성요소입니다. |
관련 권한
없음.
fromBase64
fromBase64
API를 사용하면 문자열을 base64 표현에서 디코딩할 수 있습니다 잘못된 입력이 제공되면 undefined
를 반환합니다.
문법
fromBase64(base64EncodedString)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
base64EncodedString |
문자열 | base64로 인코딩된 문자열입니다. |
예
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
관련 권한
없음
generateRandom
지정된 범위 내 임의 숫자(정수)를 반환합니다.
문법
generateRandom(min, max)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
min |
숫자 | 반환된 정수의 최소 잠재 값입니다. |
max |
숫자 | 반환된 정수의 최대 잠재 값입니다. |
관련 권한
없음.
getContainerVersion
현재 컨테이너에 대한 데이터가 포함된 객체를 반환합니다. 반환된 객체에는 다음 필드가 포함됩니다.
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
예
const getContainerVersion = require('getContainerVersion');
const sendPixel = require('sendPixel');
if (query('read_container_data')) {
const cv = getContainerVersion();
const pixelUrl = 'https://pixel.com/' +
'?version=' + cv.version +
'&envName=' + cv.environmentName +
'&ctid=' + cv.containerId +
'&debugMode=' + cv.debugMode +
'&previewMode=' + cv.previewMode;
if (query('send_pixel', pixelUrl)) {
sendPixel(pixelUrl);
}
}
문법
getContainerVersion();
관련 권한
getCookieValues
지정된 이름을 가진 모든 쿠키의 값을 반환합니다.
문법
getCookieValues(name[, decode])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
name |
문자열 | 쿠키의 이름입니다. |
decode |
불리언 | 자바스크립트의 decodeURIComponent() 로 쿠키 값을 디코딩할지 여부를 지정합니다. 기본값은 true 입니다. |
관련 권한
getQueryParameters
현재 URL의 queryKey
에 대한 첫 번째 또는 모든 매개변수를 반환합니다.
queryKey
의 첫 번째 값 또는 queryKey
의 값 배열을 반환합니다.
문법
getQueryParameters(queryKey[, retrieveAll])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
queryKey |
문자열 | 쿼리 매개변수에서 읽을 키입니다. |
retrieveAll |
불리언 | 모든 값을 가져올지 여부를 나타냅니다. |
예를 들어 현재 URL이 https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
인 경우 다음과 같습니다.
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
관련 권한
get_url
은 query
구성요소를 허용해야 하며 허용된 쿼리 키에 queryKey
를 지정하거나 모든 쿼리 키를 허용해야 합니다.
getReferrerQueryParameters
getReferrerQueryParameters
API는 현재 URL 대신 리퍼러에서 작동한다는 점을 제외하고 getQueryParameters
와 같은 방식으로 작동합니다. 지정된 리퍼러의 queryKey
에 대한 첫 번째 또는 모든 매개변수를 반환합니다. queryKey
의 첫 번째 값 또는 queryKey
의 값 배열을 반환합니다.
문법
getReferrerQueryParameters(queryKey[, retrieveAll])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
queryKey |
문자열 | 쿼리 매개변수에서 읽을 키입니다. |
retrieveAll |
불리언 | 모든 값을 가져올지 여부를 나타냅니다. |
예를 들어 리퍼러 URL이 https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
인 경우 다음과 같습니다.
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
관련 권한
get_referrer
는 query
구성요소를 허용해야 하며 허용된 쿼리 키에 queryKey
를 지정하거나 모든 쿼리 키를 허용해야 합니다.
getReferrerUrl
구성요소 유형이 지정된 경우 API는 리퍼러의 문서 객체를 읽고 리퍼러의 일부를 나타내는 문자열을 반환합니다. 구성요소가 지정되지 않은 경우 전체 리퍼러 URL이 반환됩니다.
문법
getReferrerUrl([component])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
component |
문자열 | URL에서 반환할 구성요소입니다. protocol , host , port , path , query , extension 중 하나일 수 있습니다. component 가 undefined , null 이거나 이러한 구성요소 중 하나와 일치하지 않으면 전체 URL이 반환됩니다. |
관련 권한
get_referrer
는 query
구성요소를 허용해야 하며 허용된 쿼리 키에 queryKey
를 지정하거나 모든 쿼리 키를 허용해야 합니다.
getTimestamp
지원 중단되었습니다. getTimestampMillis를 사용하는 것이 좋습니다.
Unix 에포크 이후 Date.now()
에서 반환된 현재 시간(밀리초)을 나타내는 숫자를 반환합니다.
문법
getTimestamp();
관련 권한
없음.
getTimestampMillis
Unix 에포크 이후 Date.now()
에서 반환된 현재 시간(밀리초)을 나타내는 숫자를 반환합니다.
문법
getTimestampMillis();
관련 권한
없음.
getType
지정된 값의 유형을 설명하는 문자열을 반환합니다. typeof
와 달리 getType
은 array
와 object
를 구분합니다.
문법
getType(data.someField)
참고
다음 표에는 각 입력 값에 대해 반환되는 문자열이 나와 있습니다.
입력 값 | 결과 |
---|---|
undefined |
'undefined' |
null |
'null' |
true |
'boolean' |
12 |
'number' |
'string' |
'string' |
{ a: 3 } |
'object' |
[ 1, 3 ] |
'array' |
(x) => x + 1 |
'function' |
관련 권한
없음.
getUrl
구성요소 유형과 일부 구성 매개변수에 따라 현재 URL의 전체 또는 일부를 나타내는 문자열을 반환합니다.
문법
getUrl(component)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
component |
문자열 | URL에서 반환할 구성요소입니다. protocol , host , port , path , query , extension , fragment 중 하나여야 합니다. 구성요소가 undefined , null 이거나 이러한 구성요소 중 하나와 일치하지 않으면 전체 href 값이 반환됩니다. |
관련 권한
gtagSet
현재 이벤트 및 현재 이벤트에서 트리거한 태그의 처리가 완료되거나 태그 처리 제한 시간에 도달한 후 최대한 빨리 처리할 수 있도록 gtag 설정 명령어를 데이터 영역에 푸시합니다. 업데이트는 이 컨테이너에서 데이터 영역 목록에 저장된 항목보다 먼저 처리됩니다.
예를 들어 동의 초기화에서 실행된 태그에 의해 호출되는 경우 초기화 이벤트가 처리되기 전에 업데이트가 적용됩니다. ads_data_redaction
을 true
또는 false
로 설정하거나 url_passthrough
를 true
또는 false
로 설정하는 경우를 예로 들 수 있습니다.
예:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
문법
gtagSet(object)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
Object |
객체 | 포함된 속성의 전역 상태를 업데이트하는 객체입니다. |
관련 권한
write_data_layer
는 지정된 모든 키의 dataLayer
에 대한 쓰기 권한을 확인합니다. gtagSet
에 대한 입력이 일반 객체인 경우 API는 해당 객체 내의 평면화된 모든 키에 대한 쓰기 권한을 확인합니다. 예를 들어 gtagSet({foo: {bar: 'baz'}})
의 경우 API는 foo.bar
에 대한 쓰기 권한을 확인합니다.
gtagSet
에 대한 입력이 키이고 일반적이지 않은 객체 값인 경우 API는 해당 키에 대한 쓰기 권한을 확인합니다. 예를 들어 gtagSet('abc', true)
의 경우 'abc'
에 대한 쓰기 권한을 확인합니다.
입력 객체에 주기가 있는 경우 같은 객체에 도달하기 전의 키만 확인합니다.
injectHiddenIframe
페이지에 보이지 않는 iframe을 추가합니다.
콜백은 함수 인스턴스로 제공되며 콜백으로 전달되는 자바스크립트 함수로 래핑됩니다.
문법
injectHiddenIframe(url, onSuccess)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
url |
문자열 | iframe의 src 속성 값으로 사용할 URL입니다. |
onSuccess |
함수 | 프레임이 성공적으로 로드된 경우 호출됩니다. |
관련 권한
injectScript
지정된 URL을 비동기식으로 로드하기 위해 페이지에 스크립트 태그를 추가합니다. 콜백은 함수 인스턴스로 제공되며 콜백으로 전달되는 자바스크립트 함수로 래핑됩니다.
문법
injectScript(url, onSuccess, onFailure[, cacheToken])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
url |
문자열 | 삽입될 스크립트의 주소입니다. |
onSuccess |
함수 | 스크립트가 성공적으로 로드된 경우 호출됩니다. |
onFailure |
함수 | 스크립트를 로드하지 못한 경우 호출됩니다. |
cacheToken |
문자열 | 지정된 URL이 캐시되어야 함을 나타내는 데 사용되는 문자열입니다(선택사항). 이 값이 지정된 경우 자바스크립트를 요청하기 위해 하나의 스크립트 요소만 생성됩니다. 로드하려고 더 시도하면 스크립트가 로드될 때까지 지정된 onSuccess 및 onFailure 메서드가 큐에 추가됩니다. |
관련 권한
isConsentGranted
지정된 동의 유형이 granted인 경우 true를 반환합니다.
동의 유형이 'granted'로 설정되거나 전혀 설정되지 않은 경우 특정한 동의 유형에 대한 동의는 granted로 간주됩니다. 동의 유형이 다른 값으로 설정된 경우 granted가 아닌 것으로 간주됩니다
태그 설정을 위한 태그 관리자 사용자 인터페이스는 항상 실행할 수 있는 옵션을 제공합니다. 항상 실행 옵션이 사용 설정된 태그에서 이 API를 사용하면 granted로 간주되고 실제 동의 상태에 관계없이 true
가 반환됩니다.
예:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
문법
isConsentGranted(consentType)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
consentType |
문자열 | 상태를 확인할 동의 유형입니다. |
관련 권한
동의 유형에 대한 읽기 액세스 권한이 있는 access_consent
권한
JSON
JSON 함수를 제공하는 객체를 반환합니다.
parse()
함수는 JSON 문자열을 파싱하여 문자열로 설명되는 값 또는 객체를 구성합니다. 값을 파싱할 수 없는 경우(예: 잘못된 형식의 JSON) 이 함수는 undefined
를 반환합니다. 입력 값이 문자열이 아니면 입력이 문자열로 변환됩니다.
stringify()
함수는 입력을 JSON 문자열로 변환합니다. 값을 파싱할 수 없는 경우(예: 객체에 주기가 있는 경우) 이 메서드는 undefined
를 반환합니다.
문법
JSON.parse(stringInput)
JSON.stringify(value);
매개변수
JSON.parse
매개변수 | 유형 | 설명 |
---|---|---|
stringInput | 모두 | 변환할 값입니다. 값이 문자열이 아니면 입력이 문자열로 변환됩니다. |
JSON.stringify
매개변수 | 유형 | 설명 |
---|---|---|
value | 모두 | 변환할 값입니다. |
예
const JSON = require('JSON');
// The JSON input string is converted to an object.
const object = JSON.parse('{"foo":"bar"}');
// The input object is converted to a JSON string.
const str = JSON.stringify({foo: 'bar'});
localStorage
로컬 저장소에 액세스하기 위한 메서드가 있는 객체를 반환합니다.
문법
const localStorage = require('localStorage');
// Requires read access for the key. Returns null if the key does not exist.
localStorage.getItem(key);
// Requires write access for the key. Returns true if successful.
localStorage.setItem(key, value);
// Requires write access for the key.
localStorage.removeItem(key);
관련 권한
예
const localStorage = require('localStorage');
if (localStorage) {
const value = localStorage.getItem('my_key');
if (value) {
const success = localStorage.setItem('my_key', 'new_value');
if (success) {
localStorage.removeItem('my_key');
}
}
}
logToConsole
브라우저 콘솔에 인수를 로깅합니다.
문법
logToConsole(obj1 [, obj2,... objN])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
obj1 [, obj2,... objN] |
모두 | 인수 |
관련 권한
makeInteger
지정된 값을 숫자(정수)로 변환합니다.
문법
makeInteger(value)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
value |
모두 | 변환할 값입니다. |
관련 권한
없음.
makeNumber
지정된 값을 숫자로 변환합니다.
문법
makeNumber(value)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
value |
모두 | 변환할 값입니다. |
관련 권한
없음.
makeString
지정된 값을 문자열로 반환합니다.
문법
makeString(value)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
value |
모두 | 변환할 값입니다. |
관련 권한
없음.
makeTableMap
열이 두 개인 간단한 표 객체를 Map
으로 변환합니다. 열이 두 개인 SIMPLE_TABLE
템플릿 필드를 더 관리하기 쉬운 형식으로 변경하는 데 사용됩니다.
예를 들어 이 함수는 다음 표 객체를
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
지도로 변환할 수 있습니다.
{
'k1': 'v1',
'k2': 'v2'
}
객체를 반환합니다. 키-값 쌍이 객체에 추가된 경우 Map
, 그렇지 않은 경우 null
을 반환합니다.
문법
makeTableMap(tableObj, keyColumnName, valueColumnName)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
tableObj |
목록 | 변환할 표 객체입니다. 각 Map 이 테이블의 행을 나타내는 지도 목록입니다. 행 객체의 각 속성 이름은 열 이름이고 속성 값은 행의 열 값입니다. |
keyColumnName |
문자열 | 변환된 Map 의 키가 값이 되는 열의 이름입니다. |
valueColumnName |
문자열 | 값이 변환된 Map 의 값으로 되는 열의 이름입니다. |
관련 권한
없음.
Math
Math
함수를 제공하는 객체입니다.
문법
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
매개변수
수학 함수 매개변수는 숫자로 변환됩니다.
관련 권한
없음.
Object
Object
메서드를 제공하는 객체를 반환합니다.
keys()
메서드는 표준 라이브러리 Object.keys() 동작을 제공합니다. 이 메서드는 지정된 객체의 자체 enumerable 속성 이름의 배열을 for...in...
루프와 동일한 순서로 반환합니다. 입력 값이 객체가 아니면 입력이 객체로 변환됩니다.
values()
메서드는 표준 라이브러리 Object.values() 동작을 제공합니다. 이 함수는 지정된 객체의 자체 enumerable 속성 값의 배열을 for...in...
루프와 동일한 순서로 반환합니다. 입력 값이 객체가 아니면 입력이 객체로 변환됩니다.
entries()
메서드는 표준 라이브러리 Object.entries() 동작을 제공합니다. 이 메서드는 지정된 객체의 자체 enumerable 속성 [key, value]
쌍의 배열을 for...in...
루프와 동일한 순서로 반환합니다. 입력 값이 객체가 아니면 입력이 객체로 변환됩니다.
freeze()
메서드는 표준 라이브러리 Object.freeze() 동작을 제공합니다. 고정된 객체는 더 이상 변경할 수 없습니다. 객체를 고정하면 객체에 새 속성이 추가되지 않고 기존 속성이 삭제되지 않으며 기존 속성 값이 변경되지 않습니다. freeze()
는 전달된 것과 동일한 객체를 반환합니다. 원시 또는 null 인수는 고정된 객체인 것처럼 처리되며 반환됩니다.
delete()
메서드는 표준 라이브러리 삭제 연산자 동작을 제공합니다. 객체가 고정되지 않은 경우 객체에서 지정된 키를 삭제합니다.
표준 라이브러리 delete 연산자와 마찬가지로, 두 번째 입력 값(keyToDelete
)이 존재하지 않는 키를 지정하더라도 첫 번째 입력 값(objectInput
)이 고정되지 않은 객체인 경우 true
를 반환합니다. 그 외 모든 경우에는 false
를 반환합니다. 하지만 표준 라이브러리 delete 연산자와는 다음과 같은 점에서 다릅니다.
keyToDelete
는 중첩된 키를 지정하는 점으로 구분된 문자열일 수 없습니다.delete()
는 배열에서 요소를 삭제하는 데 사용할 수 없습니다.delete()
는 전역 범위에서 속성을 삭제하는 데 사용할 수 없습니다.
문법
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
매개변수
Object.keys
매개변수 | 유형 | 설명 |
---|---|---|
objectInput | 모두 | 키를 열거할 객체입니다. 입력이 객체가 아니면 입력이 객체로 변환됩니다. |
Object.values
매개변수 | 유형 | 설명 |
---|---|---|
objectInput | 모두 | 값을 열거할 객체입니다. 입력이 객체가 아니면 입력이 객체로 변환됩니다. |
Object.entries
매개변수 | 유형 | 설명 |
---|---|---|
objectInput | 모두 | 키/값 쌍을 열거할 객체입니다. 입력이 객체가 아니면 입력이 객체로 변환됩니다. |
Object.freeze
매개변수 | 유형 | 설명 |
---|---|---|
objectInput | 모두 | 고정할 객체입니다. 입력이 객체가 아니면 고정된 객체로 취급됩니다. |
Object.delete
매개변수 | 유형 | 설명 |
---|---|---|
objectInput | 모두 | 키를 삭제할 객체입니다. |
keyToDelete | 문자열 | 삭제할 최상위 키입니다. |
예
const Object = require('Object');
// The keys of an object are enumerated in an array.
const keys = Object.keys({foo: 'bar'});
// The values of an object are enumerated in an array.
const values = Object.values({foo: 'bar'});
// The key/value pairs of an object are enumerated in an array.
const entries = Object.entries({foo: 'bar'});
// The input object is frozen.
const frozen = Object.freeze({foo: 'bar'});
// The key is removed from the input object.
const obj1 = {deleteme: 'value'};
Object.delete(obj1, 'deleteme');
// Only a top-level key can be specified as the key to delete.
const obj2 = {nested: {key: 'value'}};
Object.delete(obj2, 'nested.key'); // This has no effect.
Object.delete(obj2.nested, 'key'); // This deletes the nested key.
parseUrl
URL
객체와 마찬가지로 지정된 URL의 모든 구성요소 부분이 포함된 객체를 반환합니다.
이 API는 잘못된 형식의 URL에 대해 undefined
를 반환합니다. 올바른 형식을 갖춘 URL의 경우 URL 문자열에 없는 필드의 값은 빈 문자열, searchParams
의 경우 빈 객체가 됩니다.
반환된 객체에는 다음 필드가 포함됩니다.
{
href: string,
origin: string,
protocol: string,
username: string,
password: string,
host: string,
hostname: string,
port: string,
pathname: string,
search: string,
searchParams: Object<string, (string|Array)>,
hash: string,
}
예
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
문법
parseUrl(url);
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
url |
문자열 | 파싱할 전체 URL입니다. |
관련 권한
없음.
queryPermission
허용된 권한 및 좁혀진 권한을 쿼리합니다. 불리언(권한이 부여된 경우 true
, 그렇지 않은 경우 false
)을 반환합니다.
문법
queryPermission(permission, functionArgs*)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
permission |
문자열 | 권한의 이름입니다. |
functionArgs |
모두 | 함수 인수는 쿼리되는 권한에 따라 달라집니다. 아래의 함수 인수를 참고하세요. |
함수 인수
sendPixel
, injectScript
, injectHiddenIframe
: 두 번째 매개변수는 URL 문자열이어야 합니다.
writeGlobals
, readGlobals
: 두 번째 매개변수는 쓰거나 읽는 키여야 합니다.
readUrl
: 전체 URL을 읽을 수 있는지 쿼리하기 위한 추가 인수가 필요하지 않습니다. 지정된 구성요소를 읽을 수 있는지 쿼리하려면 구성요소 이름을 두 번째 인수로 전달하세요.
if (queryPermission('readUrl','port')) {
// read the port
}
특정 쿼리 키를 읽을 수 있는지 확인하려면 쿼리 키를 세 번째 매개변수로 전달하세요.
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
관련 권한
없음.
readCharacterSet
document.characterSet
의 값을 반환합니다.
문법
readCharacterSet()
매개변수
없음.
관련 권한
readTitle
document.title
의 값을 반환합니다.
문법
readTitle()
매개변수
없음.
관련 권한
require
기본 제공 함수의 이름을 가져옵니다. 프로그램에서 호출할 수 있는 함수 또는 객체를 반환합니다. 브라우저가 기본 제공 함수를 지원하지 않으면 undefined를 반환합니다.
문법
require(name)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
name |
문자열 | 가져올 함수의 이름입니다. |
예
const getUrl = require('getUrl');
const url = getUrl();
관련 권한
없음.
sendPixel
지정된 URL 엔드포인트에 GET 요청을 합니다.
문법
sendPixel(url, onSuccess, onFailure)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
url |
문자열 | 픽셀을 보낼 위치입니다. |
onSuccess |
함수 | 픽셀이 로드되는 경우 호출됩니다. 참고: 요청이 성공적으로 전송되더라도 브라우저에서 onSuccess를 실행하려면 유효한 이미지 응답이 필요할 수 있습니다. |
onFailure |
함수 | 픽셀을 로드하지 못한 경우 호출됩니다. 참고: 요청이 성공적으로 전송되더라도 서버에서 유효한 이미지 응답을 반환하지 않으면 onFailure가 실행될 수 있습니다. |
관련 권한
setCookie
지정된 이름, 값 및 옵션으로 쿠키를 설정하거나 삭제합니다.
문법
setCookie(name, value[, options, encode])
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
name |
문자열 | 쿠키의 이름입니다. |
value |
문자열 | 쿠키의 값입니다. |
options |
객체 | Domain, Path, Expires, Max-Age, Secure, SameSite 속성을 지정합니다. 아래 옵션을 참고하세요. |
encode |
불리언 | 쿠키 값을 자바스크립트의 encodeURIComponent() 로 인코딩할 것인지 여부를 지정합니다.
기본값은 true 입니다. |
- Domain:
options['domain']
속성에 의해 설정됩니다(있는 경우). 문서 위치를 기반으로 가장 광범위한 도메인을 사용하여 쿠키를 작성하려면 이 값을'auto'
로 설정하세요. 이 방법이 실패하면 계속해서 하위 도메인을 좁히려고 시도합니다. 모든 방법이 실패하면 도메인 없이 쿠키를 작성하려고 시도합니다. 값이 설정되지 않으면 도메인이 지정되지 않은 쿠키를 작성하려고 시도합니다. 참고: 도메인이 지정되지 않은 쿠키가document.cookie
에 작성되면 사용자 에이전트가 쿠키 도메인을 현재 문서 위치의 호스트로 기본 설정합니다. - Path:
options['path']
에 의해 설정됩니다(있는 경우). 경로가 지정되지 않은 쿠키가document.cookie
에 작성되면 사용자 에이전트가 쿠키의 경로를 현재 문서 위치의 경로로 기본 설정합니다. - Max-Age:
options['max-age']
에 의해 설정됩니다(있는 경우). - Expires:
options['expires']
에 의해 설정됩니다(있는 경우). 있는 경우 UTC 형식의 날짜 문자열이어야 합니다.Date.toUTCString()
을 사용하여 이 매개변수의Date
형식을 지정할 수 있습니다. - Secure:
options['secure']
에 의해 설정됩니다(있는 경우). - SameSite:
options['samesite']
에 의해 설정됩니다(있는 경우).
관련 권한
setDefaultConsentState
현재 이벤트 및 현재 이벤트에서 트리거한 태그의 처리가 완료되거나 태그 처리 제한 시간에 도달한 후 최대한 빨리 처리할 수 있도록 기본 동의 업데이트를 데이터 영역에 푸시합니다. 업데이트는 이 컨테이너에서 데이터 영역의 목록에 저장된 항목보다 먼저 처리됩니다. 동의에 관해 자세히 알아보기
예:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
문법
setDefaultConsentState(consentSettings)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
consentSettings |
객체 | 지정된 동의 유형의 기본 상태를 정의하는 객체입니다. |
consentSettings
객체는 임의의 동의 유형 문자열을 'granted'
또는 'denied'
중 하나에 매핑한 것입니다. 다음과 같은 값이 지원됩니다.
키 이름 | 유형 | 설명 |
---|---|---|
consentType |
문자열 | 각 동의 유형의 값은 'granted' 또는 'denied'로 설정할 수 있습니다. 'granted' 이외의 값은 'denied'로 간주됩니다. 값을 'undefined'로 설정해도 이전 값에는 영향을 미치지 않습니다. |
region |
배열 | 동의 설정이 적용되는 지역을 지정하는 지역 코드의 배열입니다(선택사항). 지역 코드는 국가 또는 하위 지역(ISO 3166-2 형식)을 사용하여 표현됩니다. |
wait_for_update |
숫자 | 밀리초 값을 지정하여 데이터가 전송될 때까지의 대기 시간을 관리합니다. 비동기식으로 로드되는 동의 도구와 함께 사용됩니다. |
관련 권한
consentSettings 객체의 모든 동의 유형에 대한 쓰기 액세스 권한이 있는 access_consent
권한입니다.
setInWindow
지정된 키에서 window
에 지정된 값을 설정합니다. 기본적으로 값이 이미 있으면 이 메서드는 window
에 값을 설정하지 않습니다. 기존 값의 존재 여부와 관계없이 window
에 값을 설정하려면 overrideExisting
을 true
로 설정하세요. 불리언(값이 설정된 경우 true
, 그렇지 않은 경우 false
)을 반환합니다.
문법
setInWindow(key, value, overrideExisting)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
key |
문자열 | 값을 배치할 window 의 키입니다. |
value |
* | window 에서 설정할 값입니다. |
overrideExisting |
불리언 | 값의 존재 여부와 관계없이 window 에 값을 설정해야 함을 나타내는 플래그입니다. |
관련 권한
sha256
options
객체가 다른 출력 인코딩을 지정하지 않은 경우 입력의 SHA-256 다이제스트를 계산하고 base64로 인코딩된 다이제스트와 함께 콜백을 호출합니다.
예:
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure);
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure, {outputEncoding: 'hex'});
문법
sha256(input, onSuccess, onFailure = undefined, options = undefined)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
input |
문자열 | 해시를 계산할 문자열입니다. |
onSuccess |
함수 | options 객체가 다른 출력 인코딩을 지정하지 않는 경우 base64로 인코딩된 결과 다이제스트와 함께 호출됩니다. |
onFailure |
함수 | 다이제스트를 계산하는 동안 오류가 발생하거나 브라우저에서 sha256를 기본적으로 지원허지 않는 경우 호출됩니다. 콜백은 오류의 이름이 포함된 객체와 메시지를 사용하여 호출됩니다. |
options |
객체 | 출력 인코딩을 지정하기 위한 옵션 객체입니다(선택사항). 지정된 경우 객체에 값이 base64 또는 hex 인 outputEncoding 키를 포함해야 합니다. |
관련 권한
없음.
templateStorage
템플릿 저장소에 액세스하기 위한 메서드가 있는 객체를 반환합니다. 템플릿 저장소를 사용하면 단일 템플릿의 실행 간에 데이터를 공유할 수 있습니다. 템플릿 저장소에 저장된 데이터는 페이지의 전체 기간 동안 유지됩니다.
문법
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
관련 권한
예
const templateStorage = require('templateStorage');
const sendPixel = require('sendPixel');
// Ensure sendPixel is called only once per page.
if (templateStorage.getItem('alreadyRan')) {
data.gtmOnSuccess();
return;
}
templateStorage.setItem('alreadyRan', true);
sendPixel(
data.oncePerPagePixelUrl,
data.gtmOnSuccess,
() => {
templateStorage.setItem('alreadyRan', false);
data.gtmOnFailure();
});
toBase64
toBase64
API를 사용하면 문자열을 base64 표현으로 인코딩할 수 있습니다.
문법
toBase64(input)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
input |
문자열 | 인코딩할 문자열입니다. |
예
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
관련 권한
없음
updateConsentState
현재 이벤트 및 현재 이벤트에서 트리거한 태그의 처리가 완료되거나 태그 처리 제한 시간에 도달한 후 최대한 빨리 처리할 수 있도록 동의 업데이트를 데이터 영역에 푸시합니다. 업데이트는 이 컨테이너에서 데이터 영역의 목록에 저장된 항목보다 먼저 처리됩니다. 동의에 관해 자세히 알아보기
예:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
문법
updateConsentState(consentSettings)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
consentSettings |
객체 | 지정된 동의 유형의 기본 상태를 업데이트하는 객체입니다. |
consentSettings
객체는 임의의 동의 유형 문자열을 'granted'
또는 'denied'
중 하나에 매핑한 것입니다. 다음과 같은 값이 지원됩니다.
키 이름 | 유형 | 설명 |
---|---|---|
consentType |
문자열 | 각 동의 유형의 값은 'granted' 또는 'denied'로 설정할 수 있습니다. 'granted' 이외의 값은 'denied'로 간주됩니다. 값을 'undefined'로 설정해도 이전 값에는 영향을 미치지 않습니다. |
관련 권한
consentSettings 객체의 모든 동의 유형에 대한 쓰기 액세스 권한이 있는 access_consent
권한입니다.
테스트 API
이 API는 샌드박스 처리된 자바스크립트 테스트와 함께 사용되어 Google 태그 관리자에서 맞춤 템플릿을 위한 테스트를 빌드합니다. 이러한 테스트 API에는 require()
문이 필요하지 않습니다. 맞춤 템플릿 테스트에 대해 자세히 알아보기
assertApi
지정된 API에 대해 유연하게 어설션하는 데 사용할 수 있는 일치자 객체를 반환합니다.
문법
assertApi(apiName)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
apiName |
문자열 | 확인할 API의 이름으로, require() 에 전달되는 것과 동일한 문자열입니다.
|
일치자
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
예
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
assertThat
API는 Google의 [Truth] 라이브러리를 모델로 하며, 대상의 값에 대해 유연하게 어설션하는 데 사용할 수 있는 객체를 반환합니다. 어설션이 실패하면 즉시 테스트가 중지되고 실패로 표시됩니다. 하지만 한 테스트에 실패해도 다른 테스트 사례는 영향을 받지 않습니다.
문법
assertThat(actual, opt_message)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
actual |
모두 | 유연한 검토에 사용할 값입니다. |
opt_message |
문자열 | 어설션이 실패할 경우 출력할 메시지입니다(선택사항). |
일치자
일치자 | 설명 |
---|---|
isUndefined() |
대상이 undefined 라고 어설션합니다. |
isDefined() |
대상이 undefined 이 아니라고 어설션합니다. |
isNull() |
대상이 null 이라고 어설션합니다. |
isNotNull() |
대상이 null 이 아니라고 어설션합니다. |
isFalse() |
대상이 false 라고 어설션합니다. |
isTrue() |
대상이 true 라고 어설션합니다. |
isFalsy() |
대상이 거짓이라고 어설션합니다. 거짓 값은 undefined , null , false , NaN , 0, ''(빈 문자열)입니다. |
isTruthy() |
대상이 참이라고 어설션합니다. 거짓 값은 undefined , null , false , NaN , 0, ''(빈 문자열)입니다. |
isNaN() |
대상이 NaN 값이라고 어설션합니다. |
isNotNaN() |
대상이 NaN 외의 값이라고 어설션합니다. |
isInfinity() |
대상이 양의 무한대 또는 음의 무한대라고 어설션합니다. |
isNotInfinity() |
대상이 양의 무한대 또는 음의 무한대 외의 값이라고 어설션합니다. |
isEqualTo(expected) |
대상이 지정된 값과 같다고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
isNotEqualTo(expected) |
대상이 지정된 값과 같지 않다고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
isAnyOf(...expected) |
대상이 지정된 값 중 하나와 같다고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
isNoneOf(...expected) |
대상이 어느 지정된 값과도 같지 않다고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
isStrictlyEqualTo(expected) |
대상이 지정된 값과 엄격하게 같다고(=== ) 어설션합니다. |
isNotStrictlyEqualTo(expected) |
대상이 지정된 값과 엄격하게 같지 않다고(!== ) 어설션합니다. |
isGreaterThan(expected) |
순서가 지정된 비교에서 대상이 지정된 값보다 크다고(> ) 어설션합니다. |
isGreaterThanOrEqualTo(expected) |
순서가 지정된 비교에서 대상이 지정된 값보다 크거나 같다고(>= ) 어설션합니다. |
isLessThan(expected) |
순서가 지정된 비교에서 대상이 지정된 값보다 작다고(< ) 어설션합니다. |
isLessThanOrEqualTo(expected) |
순서가 지정된 비교에서 대상이 지정된 값보다 작거나 같다고(<= ) 어설션합니다. |
contains(...expected) |
대상이 지정된 모든 값이 임의의 순서로 포함된 배열 또는 문자열이라고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
doesNotContain(...expected) |
대상이 지정된 값이 포함되지 않은 배열 또는 문자열이라고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
containsExactly(...expected) |
대상이 지정된 모든 값이 임의의 순서로 포함되고 다른 값은 포함되지 않은 배열이라고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
doesNotContainExactly(...expected) |
대상이 지정된 값과 다른 값이 임의의 순서로 포함된 배열이라고 어설션합니다. 참조 비교가 아니라 값 비교입니다. 객체와 배열의 콘텐츠는 재귀적으로 비교됩니다. |
hasLength(expected) |
대상이 지정된 길이의 배열 또는 문자열이라고 어설션합니다. 값이 배열이나 문자열이 아니면 어설션이 항상 실패합니다. |
isEmpty() |
대상이 비어 있는(길이 = 0) 배열 또는 문자열이라고 어설션합니다. 값이 배열이나 문자열이 아니면 어설션이 항상 실패합니다. |
isNotEmpty() |
대상이 비어 있지 않은(길이 > 0) 배열 또는 문자열이라고 어설션합니다. 값이 배열이나 문자열이 아니면 어설션이 항상 실패합니다. |
isArray() |
대상의 유형이 배열이라고 어설션합니다. |
isBoolean() |
대상의 유형이 불리언이라고 어설션합니다. |
isFunction() |
대상의 유형이 함수라고 어설션합니다. |
isNumber() |
대상의 유형이 숫자라고 어설션합니다. |
isObject() |
대상의 유형이 객체라고 어설션합니다. |
isString() |
대상의 유형이 문자열이라고 어설션합니다. |
예
assertThat(undefined).isUndefined();
assertThat(id, 'ID must be defined').isDefined();
assertThat(null).isNull();
assertThat(undefined).isNotNull();
assertThat(true).isTrue();
assertThat(false).isFalse();
assertThat(1).isTruthy();
assertThat('').isFalsy();
assertThat(1/0).isInfinity();
assertThat(0).isNotInfinity();
assertThat(-'foo').isNaN();
assertThat(100).isNotNaN();
assertThat(sentUrl).isEqualTo('https://endpoint.example.com/?account=12345');
assertThat(category).isNotEqualTo('premium');
assertThat(5).isAnyOf(1, 2, 3, 4, 5);
assertThat(42).isNoneOf('the question', undefined, 41.9);
assertThat('value').isStrictlyEqualTo('value');
assertThat('4').isNotStrictlyEqualTo(4);
assertThat(['a', 'b', 'c']).contains('a', 'c');
assertThat(['x', 'y', 'z']).doesNotContain('f');
assertThat(['1', '2', '3']).containsExactly('3', '2', '1');
assertThat(['4', '5']).doesNotContainExactly('4');
assertThat('a string').hasLength(8);
assertThat([]).isEmpty();
assertThat('another string').isNotEmpty();
fail
현재 테스트가 즉시 실패하고 지정된 메시지가 출력됩니다(제공되는 경우).
문법
fail(opt_message);
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
opt_message |
문자열 | 오류 메시지 텍스트입니다(선택사항). |
예
fail('This test has failed.');
mock
mock
API를 사용하면 샌드박스 처리된 API의 동작을 재정의할 수 있습니다. 모의 API는 템플릿 코드에서 안전하게 사용할 수 있지만 테스트 모드가 아닌 경우에는 작동하지 않습니다. 모의 API는 각 테스트가 실행되기 전에 재설정됩니다.
문법
mock(apiName, returnValue);
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
apiName |
문자열 | 모방할 API의 이름으로, require() 에 전달되는 것과 동일한 문자열입니다. |
returnValue |
모두 | API 또는 API 대신 호출되는 함수에 대해 반환할 값입니다. returnValue 가 함수이면 해당 함수가 샌드박스 처리된 API 대신 호출됩니다. returnValue 가 함수가 아닌 경우 샌드박스 처리된 API 대신 값이 반환됩니다. |
예
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
runCode
지정된 입력 데이터 객체를 사용하여 현재 테스트 환경에서 템플릿의 코드, 즉 코드 탭의 콘텐츠를 실행합니다.
문법
runCode(data)
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
data |
객체 | 테스트에 사용할 데이터 객체입니다. |
반환 값
변수 템플릿의 경우 변수 값을 반환합니다. 다른 모든 템플릿 유형의 경우 undefined
를 반환합니다.
예
runCode({field1: 123, field2: 'value'});