컨텐츠로 건너뛰기

스크립트 함수 목록

스크립트 함수

Canvas 스크립트

모든 함수는 괄호와 함께 사용되어야 합니다.

유의사항: eXT, nXT, eXT2 제품을 통해 USB 저장장치를 사용할 때, USB 저장장치는 exFAT 또는 FAT32 형식으로 포맷되어야 합니다. 유의사항: Storage.Local을 저장 위치로 사용할 때, Xpanel은 경로 '$DATA_PARTITION/home/user'를 참조하고, 시뮬레이터는 경로 'C:\Users<user>'를 참조합니다.

경보

함수 매개변수

반환 값
설명

예제
alarm.createAllCsv(Storage type) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

Returns:
반환 값 없음
지정된 Storage type에 모든 메시지를 CSV 파일로 저장합니다.
alarm.createAllCsv(Storage.Usb);
alarm.createAllCsv(1);
alarm.createCsv(String label, Storage type) String label:
경보 설정에서 사용되는 레이블.

Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

Returns:
반환 값 없음
지정된 Storage typeString label과 연관된 모든 알람 메시지를 CSV 파일로 저장합니다.
String label은 경보 설정에서 사용되는 레이블을 의미하며, 사용자가 직접 생성하거나 미리 설정된 레이블을 사용할 수 있습니다.
alarm.createCsv("A", Storage.Usb);
alarm.createCsv("A", 1);

데이터 수집

함수 매개변수

반환 값
설명

예제
datalog.addRow(String modelName) String modelName:
데이터 수집 모델의 이름

Returns:
반환 값 없음
지정된 데이터 수집 모델에 한 개의 행을 추가합니다.
datalog.addRow("LoggingModel");
datalog.createCsv(String modelName, Storage type) String modelName:
데이터 수집 모델의 이름

Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

Returns:
반환 값 없음
지정된 Storage type에 데이터 수집 모델의 CSV 파일을 생성합니다.
datalog.createCsv("LoggingModel", Storage.Local);
datalog.createCsv("LoggingModel", 4);
datalog.
createCsvForRange(String modelName, Date start, Date end, Storage type)
String modelName:
데이터 수집 모델의 이름

Date start:
시작 날짜

Date end:
종료 날짜

Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

Returns:
반환 값 없음
지정된 Storage type에 정해진 기간 내의 데이터 수집 모델 CSV 파일을 생성합니다.
          datalog.createCsvForRange(
            "LoggingModel", 1, 31, Storage.Ftp);
        
          datalog.createCsvForRange(
            "LoggingModel", 1, 31, 1);
        
datalog.start(String modelName) String modelName:
데이터 수집 모델의 이름

Returns:
반환 값 없음
지정된 데이터 수집 모델의 기록을 시작합니다.
datalog.start("LoggingModel");
datalog.stop(String modelName) String modelName:
데이터 수집 모델의 이름

Returns:
반환 값 없음
지정된 데이터 수집 모델의 기록을 종료합니다.
datalog.stop("LoggingModel");

Driver

함수 매개변수

반환 값
설명

예제
driver.enable(String deviceName) String deviceName:
대상 장치의 이름

Returns:
반환 값 없음
지정된 장치를 활성화합니다.
driver.enable("PLC");
driver.disable(String deviceName) String deviceName:
대상 장치의 이름

Returns:
반환 값 없음
지정된 장치를 비활성화합니다.
driver.disable("PLC");

키보드

함수 매개변수

반환 값
설명

예제
keyboard.
launchKeyboard(String tagName)

keyboard.
launchKeyboard(String tagName, Object properties)
String tagName:
설정할 태그의 이름

Object properties:
선택 사항
키보드 스타일 속성 목록
  • header: 키보드 상단의 텍스트.
  • subheader: 키보드 상단 아래의 텍스트.
  • x: 키보드의 X 위치 설정.
  • y: 키보드의 Y 위치 설정.


Returns:
반환 값 없음
사용자 입력을 위한 팝업 키보드를 실행하여 태그의 값을 설정합니다.
keyboard.launchKeyboard("pass");
          keyboard.launchKeyboard("pass", {header: "Password", subheader: "Enter your password", x: 50, y: 50});
        
keyboard.
launchKeypad(String tagName)

keyboard.
launchKeypad(String tagName, Object properties)
String tagName:
설정할 태그의 이름

Object properties:
선택 사항
키패드 스타일 속성 목록
  • header: 키패드 상단의 텍스트.
  • subheader: 헤더 아래의 텍스트.
  • x: 키패드의 X 위치 설정.
  • y: 키패드의 Y 위치 설정.
  • format: 16진수 또는 10진수 입력 지정.
  • rawMin: 허용되는 최소값 설정.
  • rawMax: 허용되는 최대값 설정.
  • scaledMin: 최소 스케일 값 설정.
  • scaledMax: 최대 스케일 값 설정.


Returns:
반환 값 없음
사용자 입력을 위한 숫자 키패드를 실행하여 태그의 값을 설정합니다.
keyboard.launchKeypad("Number");
          keyboard.launchKeypad("Number", {header: "Header", subheader: "Subheader", x: 50, y: 50, format: "HH", rawMin: 5, rawMax: 20});
        
keyboard.
sendKeyEvent(KeyCode keyCode)
KeyCode keyCode:
키의 16진수 또는 10진수 값

Returns:
반환 값 없음
키코드에 대한 키 입력을 시뮬레이션합니다.
keyboard.sendKeyEvent(0x20);

알림

함수 매개변수

반환 값
설명

예제
notification.send(String msg)

notification.send(String msg, int dismissInterval)
String msg:
표시할 메시지

int dismissInterval:
선택 사항
알림이 사라지기 전 시간 (밀리초 단위)

Returns:
부호 없는 long 정수 값
지정된 메시지를 화면에 팝업 알림으로 표시하고, 고유한 부호 없는 long 정수형 ID를 반환합니다.
dismissInterval 값이 0보다 작으면, 알림은 사용자가 수동으로 닫을 때까지 계속 표시됩니다.
tag.write("ID", notification.send("Hello World"));
// Save the unique ID of the notification
tag.write("ID", notification.send("Hello World", 3000));
// Save the unique ID of the notification

페이지

함수 매개변수

반환 값
설명

예제
page.close(String name) String name:
페이지 이름

Returns:
반환 값 없음
지정된 이름의 기본 페이지를 닫습니다.

page.close("Home");
page.closeIndex(int index) int index:
페이지 번호

Returns:
반환 값 없음
지정된 인덱스 번호의 기본 페이지를 닫습니다.
page.closeIndex(1);
page.closePopupIndex(int index) int index:
팝업 페이지 번호

Returns:
반환 값 없음
지정된 인덱스 번호의 팝업 페이지를 닫습니다.
page.closePopupIndex(3);
page.currentIndex(); Returns:
현재 열린 페이지의 인덱스 값 (int)
현재 열려 있는 페이지의 인덱스 값을 반환합니다.
tag.write("Page Num", page.currentIndex()); 
// "Page Num" 태그에 현재 열려 있는 페이지의 인덱스를 저장
page.currentName(); Returns:
현재 열려 있는 페이지의 이름 (문자열)
현재 열려 있는 페이지의 이름을 반환합니다.
tag.write("Open Page", page.currentName());
// "Open Page" 태그에 현재 열려 있는 페이지의 이름을 저장
page.isOpen(String name) String name:
페이지 이름

Returns:
Boolean 값
지정한 이름의 기본 페이지가 열려 있는지 여부를 true(1) 또는 false(0)로 반환합니다.
if(page.isOpen("Home")) {
tag.write("Pages/Base/Home", 1); 
// 홈 페이지가 열려 있으면 해당 태그 값을 true로 설정
}
page.isOpenIndex(int index) int index:
페이지 번호

Returns:
Boolean 값
지정한 인덱스 번호의 기본 페이지가 열려 있는지 여부를 true(1) 또는 false(0)로 반환합니다.
if(page.isOpenIndex(0)) {
tag.write("Pages/Base/Home", 1); 
// 홈 페이지가 열려 있으면 해당 태그 값을 true로 설정
}
page.isOpenPopupIndex(int index) int index:
페이지 번호

Returns:
Boolean 값
지정한 인덱스 번호의 팝업 페이지가 열려 있는지 여부를 true(1) 또는 false(0)로 반환합니다.
if(page.isOpenPopupIndex(3)) {
tag.write("Pages/Popup/Help", 1); 
// 도움말 팝업 페이지가 열려 있으면 해당 태그 값을 true로 설정
}
page.open(String name) String name:
페이지 이름

Returns:
반환 값 없음
지정된 이름의 기본 페이지를 엽니다.
page.open("Home");
page.openIndex(int index) int index:
페이지 번호

Returns:
반환 값 없음
지정된 인덱스 번호의 기본 페이지를 엽니다.
page.openIndex(1);
page.openPopupIndex(int index) int index:
팝업 페이지 번호

Returns:
반환 값 없음
지정된 인덱스 번호의 팝업 페이지를 엽니다.
page.openPopupIndex(3);
page.openPrevious(); Returns:
반환 값 없음
이전 기본 페이지를 엽니다.
page.openPrevious();

레시피

함수 매개변수

반환 값
설명

예제
recipe.
createRecord(String recipe, int id, String name, List<Value> values)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

String name:
레코드의 이름

List<Value> values:
레코드에 저장할 파라미터 값들의 목록

Returns:
반환 값 없음
주어진 매개변수로 레시피 데이터베이스에 새 레코드를 추가합니다.
recipe.createRecord
("RecipeName", tag.read("MaxRecordId") + 1, "Orange", ["#FFA500"]);
recipe.
deleteRecord(String recipe, int id)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

Returns:
반환 값 없음
기존 레시피 데이터베이스에서 레코드를 삭제합니다.
recipe.deleteRecord
("RecipeName", tag.read("Switch"));
recipe.
exportCsv(String recipe, Storage type, String path)
String recipe:
레시피 데이터베이스

Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String path:
저장 위치를 기준으로 CSV 파일을 찾을 경로를 지정합니다.

Returns:
반환 값 없음
레시피 데이터를 CSV 파일로 지정된 경로에 저장합니다.
recipe.exportCsv
("RecipeName", Storage.SdCard, "RecipeScript.csv");
recipe.exportCsv
("RecipeName", 1, "RecipeScript.csv");
recipe.openConfig() Returns:
반환 값 없음
레시피 설정 창을 엽니다.
recipe.openConfig();
recipe.receiveRecord(String recipe, int id) String recipe:
대상 레시피 데이터베이스

int id:
레코드 ID

Returns:
반환 값 없음
원격 장치로부터 레시피 값을 가져와서 레시피 데이터베이스에 저장합니다.
recipe.receiveRecord("Mixtures", 0);
// "Mixtures" 레시피에서 레코드 0을 가져옴
recipe.sendRecord(String recipe, int id) String recipe:
대상 레시피 데이터베이스

int id:
레코드 ID

Returns:
반환 값 없음
레시피 데이터베이스에 있는 지정된 레코드 값을 원격 장치로 전송합니다.
recipe.sendRecord("Mixtures", 3);
// "Mixtures" 레시피에서 레코드 3을 전송
recipe.
getAllParameters(String recipe)
String recipe:
레시피 데이터베이스

Returns:
현재 태그 값들의 배열
장치의 현재 파라미터 값 배열을 반환합니다 (현재 태그 값들).
          var vals = 
recipe.getAllParameters("Mix"); 
// 현재 파라미터 값 모두 가져오기
tag.write("Mix/Display/1", vals[0]); 
// 배열의 첫 번째 요소를 태그 1에 기록
tag.write("Mix/Display/2", vals[1]); 
// 배열의 두 번째 요소를 태그 2에 기록
tag.write("Mix/Display/3", vals[2]); 
// 배열의 세 번째 요소를 태그 3에 기록
        
recipe.
getParameter(String recipe, int id, int index)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

int index:
레코드 내에서의 파라미터 인덱스

Returns:
주어진 파라미터 인덱스에 해당하는 레코드의 값
주어진 파라미터 인덱스에 해당하는 레코드의 값을 반환합니다.
이것은 recipe.getParameterByName() 스크립트와 유사합니다.
          var para = recipe.getParameter
("Mixtures", 1, 2); 
// 파라미터 값 가져오기
tag.write("Mix/Display/Parameter", para); 
// 파라미터 값을 태그에 기록
        
recipe.
getParameter
ByName(String recipe, int id, String name)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

String name:
레코드 파라미터의 이름

Returns:
주어진 파라미터 이름에 해당하는 레코드의 값
주어진 파라미터 이름에 해당하는 레코드의 값을 반환합니다.
이것은 recipe.getParameter() 스크립트와 유사합니다.
          var para = 
recipe.getParameterByName
("Mixtures", 0, "Ingredient 2"); 
// 파라미터 값 가져오기
tag.write("Mix/Display/Parameter", para); 
// 파라미터 값을 태그에 기록
        
recipe.
getRecordName(String recipe, int id)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

Returns:
레코드 파라미터의 이름
지정된 레시피 데이터베이스에서 레코드의 이름을 반환합니다.
          var name = 
recipe.getRecordName
("Mixtures", 2); 
// 레코드 이름 가져오기
tag.write("Mix/Display/Name", name); 
// 레코드 이름을 태그에 기록
        
recipe.
getRecordValues(String recipe, int id)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

Returns:
파라미터 값들의 배열
지정된 레코드의 값을 배열로 반환합니다.
          var record_values = 
recipe.getRecordValues("Mixtures", 1); 
// 레코드 값 가져오기
tag.write("Mix/Values/Value 1", record_values[0]); 
// 레코드 값을 태그에 기록
tag.write("Mix/Values/Value 2", record_values[1]); 
// 레코드 값을 태그에 기록
tag.write("Mix/Values/Value 3", record_values[2]); 
// 레코드 값을 태그에 기록
        
recipe.
importCsv(String recipe, Storage type, String path)
String recipe:
레시피 데이터베이스

Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String path:
CSV 파일이 위치한 경로, 저장 위치에 대해 상대 경로로 지정

Returns:
반환 값 없음
지정된 경로의 CSV 파일 데이터를 가져와 레시피 데이터를 대체합니다.
recipe.importCsv
("RecipeName", Storage.Usb, "RecipeScript.csv");
recipe.importCsv
("RecipeName", 1, "RecipeScript.csv");
recipe.
setParameter(String recipe, int id, int index, Value value)
String recipe:
레시피 데이터베이스

int id:
레코드 ID

int index:
레코드 내 파라미터 인덱스

Value value:
파라미터에 입력할 값

Returns:
반환 값 없음
레코드의 파라미터 값을 지정된 인덱스로 설정합니다.
이것은 recipe.setParameterByName() 스크립트와 유사합니다.
recipe.setParameter
("Mixtures", tag.read("Counter"), 0, "#FFA500");
// 레코드 ID "Counter"의 혼합물 색상을 변경합니다.
recipe.
setParameterByName(String recipe, int id, String name, Value value)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

String name:
레코드 내 파라미터 이름

Value value:
파라미터에 입력할 값

Returns:
반환 값 없음
지정된 파라미터 이름을 기준으로 레코드의 파라미터 값을 설정합니다.
이것은 recipe.setParameter() 스크립트와 유사합니다.
recipe.setParameterByName
("Mixtures", tag.read("Counter"), "Color", "#FFA500");
// 레코드 ID "Counter"의 혼합물 색상을 변경합니다.
recipe.
setRecord(String recipe, int id, List<Value> values)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

List<Value> values:
레코드에 저장할 파라미터 값들의 목록

Returns:
반환 값 없음
레코드의 값을 업데이트합니다.
recipe.setRecord("Mixtures", tag.read("Counter"), ["#FFA500"]);
recipe.
setRecordId(String recipe, int oldId, int newId)
String recipe:
레시피 데이터베이스

int oldId:
업데이트할 레코드의 ID

int newId:
레코드를 업데이트할 새로운 ID

Returns:
반환 값 없음
지정된 레시피 데이터베이스에서 레코드의 ID를 업데이트합니다.
recipe.setRecordId("RecipeName", tag.read("Switch"), tag.read("Switch") + 1); // Change the value of record "Switch" to "Switch + 1" (int value)
recipe.
setRecordName(String recipe, int id, String name)
String recipe:
레시피 데이터베이스

int id:
레코드의 ID

String name:
레코드의 이름을 변경할 새 이름

Returns:
반환 값 없음
지정된 레시피 데이터베이스에서 레코드의 이름을 변경합니다.
recipe.setRecordId("RecipeName", tag.read("Switch"), "Mixtures");

스케줄

함수 매개변수

반환 값
설명

예제
schedule.isEnabled(String title) String title:
스케줄의 이름

Returns:
Boolean 값
스케줄이 활성화되어 있는지 여부를 Boolean 값(true(1) 또는 false(0))으로 반환합니다.
if(schedule.isEnabled("Check")) 
        { tag.write("Lights/Display", "#00FF00"); // 스케줄이 활성화되어 있으면 불빛을 초록색으로 변경
        }
schedule.setEnabled(String title, boolean enable) String title:
스케줄 이름

boolean enable:
0: false
1: true

Returns:
반환 값 없음
지정된 스케줄의 값이 1이면 활성화되고, 0이면 비활성화됩니다.
schedule.setEnabled("Check", 1); // "Check" 스케줄을 활성화 상태로 설정

시스템

오디오

함수 매개변수

반환 값
설명

예제
system.audio.playFile(Storage type, String relativePath, boolean async) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp
5: Storage.Project

String relativePath:
파일 경로

boolean async:
선택 사항
비동기적으로 실행
0: false
1: true

Returns:
반환 값 없음
오디오 파일을 재생합니다.
boolean 비동기 매개변수가 없으면 기본값은 true입니다.
2024년 11월 이전에 제조된 CM-eXT07 및 CM-nXT07 장치는 이 기능을 지원하지 않습니다.
system.audio.playFile(
          Storage.Project, "Folder/buzz.mp4", 0);
system.audio.playFile(
          5, "Folder/buzz.mp4");

감사 로그

함수 매개변수

반환 값
설명

예제
system.audio.stopFile(Storage type, String relativePath) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp
5: Storage.Project

String relativePath:
파일 경로

Returns:
반환 값 없음
모든 오디오 파일을 중지합니다.
2024년 11월 이전에 제조된 CM-eXT07 및 CM-nXT07 장치는 이 기능을 지원하지 않습니다.
system.audio.stopFile(
          Storage.Project, "Folder/buzz.mp4");
system.audio.stopFile(
          5, "Folder/buzz.mp4");
system.audit.log(String description) String description:
감사 로그에 추가할 텍스트

Returns:
반환 값 없음
입력한 설명을 감사 로그에 기록합니다.
system.audit.log("Button pressed");

이메일

함수 매개변수

반환 값
설명

예제
system.email.send(Object properties) Object properties:
이메일 내용
  • to: 수신자 이메일 주소
  • cc: 참조 이메일 주소
  • subject: 이메일 제목
  • body: 이메일 본문 내용


Returns:
반환 값 없음
SMTP 설정을 사용하여 이메일을 보냅니다.
var properties = { 
          to: "test@gmail.com", 
          cc: "test2@gmail.com", 
          subject: "스크립트 이메일 보내기", 
          body: "이 이메일은 system.email.send 함수의 작동 방식 예시입니다." 
          };
          system.email.send(properties);

파일

함수 매개변수

반환 값
설명

예제
system.file.exists(Storage type, String path) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String path:
파일 경로

Returns:
Boolean 값
파일이 존재하면 true (1) 또는 false (0)을 반환합니다.
if(system.file.exists
        (Storage.Local, "Recipes.csv")) {
          recipe.exportCsv("Mixtures", Storage.Usb, "Recipes.csv"); // 파일이 존재하면 내보내기
        }
if(system.file.exists
        (1, "Recipes.csv")) {
          recipe.exportCsv("Mixtures", 2, "Recipes.csv"); // 파일이 존재하면 내보내기
        }
system.file.isDirectory(Storage type, String path) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String path:
디렉토리 경로

Returns:
Boolean 값
파일 경로가 디렉토리인지 여부에 대해 Boolean 값(true(1) 또는 false(0))을 반환합니다.
if(system.file.isDirectory
        (Storage.Local, "Recipes") &&
        system.file.exists
        (Storage.Local, "Recipes.csv")) {
          recipe.exportCsv("Mixtures", Storage.Usb, "Recipes.csv"); // 유효한 디렉토리에 파일이 존재하면 내보내기
        }
system.file.openDialog(Storage type, String path) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String path:
디렉토리 경로

Returns:
선택된 파일의 문자열 값
저장소 위치에서 선택된 파일의 문자열 값을 반환합니다.
var file = system.file.openDialog(1, "Documents");
tag.write("File", file); // 선택된 파일 이름 표시

FTP

함수 매개변수

반환 값
설명

예제
system.ftp.download(Object config, Storage type, String sourcePath, String targetPath) Object config:
FTP 서버 정보
  • server: FTP 서버 주소
  • port: FTP 서버 포트
  • username (Optional): FTP 서버 사용자 이름
  • password (Optional): FTP 서버 사용자 비밀번호


Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String sourcePath:
원본 파일 경로

String targetPath:
대상 파일 경로

Returns:
Boolean 값
FTP 서버에서 Object config를 다운로드하는 데 성공하면 boolean 값(true (1) 또는 false (0))을 반환합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
let ftpConfig = {
    "server": "192.168.1.100",
    "port": 21,
    "username": "ftp",
    "password": "ftppass"
};
system.ftp.download(ftpConfig, Storage.Local, "/location", "/downloads/location");
system.file.openPdf(Storage type, String path) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp
5: Storage.Project

String path:
PDF 파일 경로

Returns:
반환 값 없음
별도의 PDF 뷰어로 PDF를 엽니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.file.openPdf
        (Storage.Project, "Folder/help.pdf");
system.file.openPdf(5, "Folder/help.pdf");
system.file.saveDialog(Storage type, String path) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String path:
파일 경로

Returns:
선택된 파일의 문자열 값
지정된 경로에 파일을 저장하는 다이얼로그 창을 엽니다.
var file = system.file.openDialog(1, "Documents");
tag.write("File", file); // 저장된 파일 이름을 표시
system.ftp.startServer() Returns:
반환 값 없음
로컬 FTP 서버를 시작합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.ftp.startServer();
system.ftp.stopServer() Returns:
반환 값 없음
로컬 FTP 서버를 중지합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.ftp.stopServer();
system.ftp.upload(Object config, Storage type, String sourcePath, String targetPath) Object config:
FTP 서버 정보
  • server: FTP 서버 주소
  • port: FTP 서버 포트
  • username (Optional): FTP 서버 사용자 이름
  • password (Optional): FTP 서버 비밀번호


Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp

String sourcePath:
원본 파일 경로

String targetPath:
대상 파일 경로

Returns:
Boolean 값
FTP 서버에 Object config를 업로드하는 데 성공하면 boolean 값(true (1) 또는 false (0))을 반환합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
let ftpConfig = {
    "server": "192.168.1.100",
    "port": 21,
    "username": "ftp",
    "password": "ftppass"
};
system.ftp.upload(ftpConfig, Storage.Local, "/location", "/downloads/location");

HMI Display

함수 매개변수

반환 값
설명

예제
system.
display.brightness()
Returns:
실수(double) 값
Xpanel의 밝기 수준을 나타내는 0과 1 사이의 실수(double) 값을 반환합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
if(system.display.brightness() < 1) {
  // 실행
}
system.
display.dimDelay()
Returns:
정수(int) 값
Xpanel의 디스플레이가 어두워지는 지연 시간(분 단위)을 나타내는 정수(int) 값을 반환합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
if(system.display.dimDelay() > 5) {
  // 실행
}
system.
display.enableBacklight(boolean enable)
boolean enable:
Xpanel 백라이트 활성화
0: false
1: true

Returns:
반환 값 없음
Xpanel의 백라이트를 켜거나(1) 끌 수 있습니다(0).
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
경고: 이 스크립트를 자동 디밍 또는 자동 절전 기능과 함께 사용하지 마십시오. 의도하지 않은 동작이 발생할 수 있습니다.
system.display.
        enableBacklight(0);
system.
display.isDimmerEnabled()
Returns:
Boolean 값
디머(dimmer) 설정이 활성화되었는지 여부를 나타내는 boolean 값, 참(1) 또는 거짓(0)을 반환합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
if(!system.display.
        isDimmerEnabled()) {
  // 실행
}
system.
display.setBrightness(float brightness)
float brightness:
Xpanel 밝기 레벨

Returns:
반환 값 없
Xpanel의 밝기를 설정합니다.
유의사항: float brightness매개변수는 0과 1 사이의 값이어야 하며, 밝기 0은 백라이트를 완전히 끄지 않습니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.display.
        setBrightness(0.74);
system.
display.setDimDelay(int minutes)
int minutes:
Xpanel이 디밍 되기까지의 시간

Returns:
반환 값 없음
Xpanel이 디밍 되기까지의 시간을 설정합니다..
유의사항: int minutes매개변수가 음수이면, 지연 시간은 0이 됩니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.display.
        setDimDelay(3);
system.
display.setDimEnabled(boolean enabled)
boolean enable:
0: false
1: true

Returns:
반환 값 없음
Xpanel 디머(dimmer)를 켜거나(1) 끌 수 있습니다(0).
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.display.
        setDimEnabled(0);

HMI Functions

함수 매개변수

반환 값
설명
and
예제
system.execute(String program, Array arguments) String program:
실행 프로그램

Array arguments:
프로그램에 대한 인수 배열

Returns:
반환 값 없음
String program의 서브 프로세스에 대해 Array arguments를 사용하여 논블로킹 비동기 호출을 생성합니다..
system.execute("bash", ["-c", "echo hello > out.txt"]); 
// "hello"를 out.txt에 기록합니다.
system.execute("mkdir", ["newDirectory"]);
// "newDirectory"라는 새 디렉터리를 만듭니다.
system.exit() Returns:
반환 값 없음
현재 프로젝트 및 런타임 애플리케이션을 닫습니다.
system.exit();
system.openConfig() Returns:
반환 값 없음
런타임 구성 메뉴를 엽니다.
system.openConfig();
system.
openFrameMonitor()
Returns:
반환 값 없음
프레임 모니터 창을 엽니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.openFrameMonitor();
system.screenshot(Storage type) Storage type:
2: Storage.Usb
3: Storage.SdCard

Returns:
반환 값 없음
런타임 동안 스크린샷을 찍습니다.
system.screenshot(Storage.Usb);
system.screenshot(3);
system.setDateTime(Date date) Date date:
Xpanel에 설정할 날짜와 시간

Returns:
반환 값 없음
Xpanel의 날짜와 시간을 설정합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
var day = new Date("March 14, 2025 09:12:30");
system.setDateTime(day);
var now = new Date();
system.setDateTime(now);
system.staticBeep(boolean enable) boolean enable:
0: false
1: true

Returns:
반환값 없음
내장된 Xpanel 버저에서 비프음이 발생합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
system.staticBeep(1);
thread.msleep(50);
system.staticBeep(0);

스크립트

함수 매개변수

반환 값
설명

예제
system.importScript(String scriptName) String scriptName:
실행할 스크립트

Returns:
반환 값 없음
현재 스레드에서 현재 프로젝트의 지정된 스크립트를 실행합니다.
system.importScript("Script");
system.runScript(String scriptName) String scriptName: 실행할 스크립트의 이름

Returns:
반환 값 없음
현재 프로젝트에서 지정된 스크립트를 별도의 스레드에서 실행합니다.
system.runScript("Initialize");

문자열 테이

함수 매개변수

반환 값


예제
system.setLanguage(String language) String language:
문자열 테이블 편집기에서 사용할 언어

Returns:
반환 값 없음
문자열 테이블 편집기에서 사용할 언어를 설정합니다.
이 값은 문자열 테이블 편집기의 열 이름 중 하나와 일치해야 합니다.
system.setLanguage("English");

사용자 제어

함수 매개변수

반환 값


예제
system.currentUsername() Returns:
현재 로그인된 유저의 이름 문자열
현재 로그인한 사용자의 이름을 반환합니다.
로그인한 사용자가 없으면 빈 문자열이 반환됩니다.
var user = system.currentUsername(); // 현재 사용자 이름 가져오기
        tag.write("Username", user); // 태그에 사용자 이름 쓰기
system.hasPermission(String permission) String permission:
확인 권한

Returns:
Boolean 값
현재 로그인한 사용자가 지정된 권한을 가지고 있는 경우, 참 (1) 또는 거짓 (0)을 반환합니다
if(system.hasPermission("log")) {
  datalog.start("Changes"); 
  // 사용자 권한이 있는 경우 데이터 로그 시작
}
system.login(String username, String password) String username:
사용자 이름

String password:
Optional parameter 사용자 비밀번호

Returns:
Boolean 값
사용자가 ID 및 액세스 관리 기능에 성공적으로 로그인할 수 있는 경우, 참(1) 또는 거짓(0) 값을 반환합니다.
if (system.login("Admin", "admin_Pass")) {
tag.write("Admin", 1); 
// 관리자 로그인 설정
tag.write("User", 0); 
// 사용자 로그아웃 설정
}

else if (system.login("User")) { tag.write("User", 1); // 사용자 로그인 설정 tag.write("Admin", 0); // 관리자 로그아웃 설정 }
system.logout() Returns:
반환 값 없음
현재 사용자를 신원 및 접근 관리 기능에서 로그아웃합니다.
system.logout();
system.
openAuthWindow(Object properties)
Object properties:
선택적 매개변수
사용자를 인증하기 위한 조건
  • Username: 인증할 사용.
  • Permissions: 나열된 권한을 가진 사용자가 로그인할 수 있도록 허용합니다.


Returns:
Boolean 값
대화 창을 열어 사용자를 인증하고, 사용자가 로그인에 성공한 경우 참 (1) 또는 거짓 (0)을 반환합니다.
사용자가 제공되지 않으면 사용자 이름과 비밀번호를 입력한 모든 사용자를 인증합니다.
사용자에게 나열된 권한이 없으면, 로그인할 수 없습니다.
var properties = {username: "Admin", permissions: "Bypass"};
if(system.openAuthWindow
(properties)) {
tag.write("Bypass", 1); 
// 바이패스 태그를 참으로 설정합니다.
}
system.
openLoginWindow(Object properties)
Object properties: 선택적 매개변수
사용 가능한 사용자 또는 사용자 유형을 표시하기 위한 조건
  • listUsers: 사용 가능한 사용자 또는 사용자 유형을 표시하는 Boolean 값


Returns:
반환 값 없음
신원 및 접근 관리 기능에 대한 로그인 창을 엽니다.
var prop = {listUsers: 1};
system.openLoginWindow(prop);
system.openLoginWindow();

비디오

함수 매개변수

반환 값
설명

system.video.playFile(Storage type, String path) Storage type:
1: Storage.Local
2: Storage.Usb
3: Storage.SdCard
4: Storage.Ftp
5: Storage.Project

String path: 비디오 파일 경로

Returns:
반환 값 없음
지정된 경로의 비디오를 재생합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
이것은 eXT2 시리즈에서만 작동합니다.
system.video.playFile
(Storage.Project, "Folder/safety.wav");
system.video.playFile(2, "safety.wav");
system.video.stop() Returns:
반환 값 없음
현재 비디오 재생을 중지합니다.
이 스크립트는 시뮬레이터에서 작동하지 않습니다.
이것은 eXT2 시리즈에서만 작동합니다.
system.video.stop();

태그

함수 매개변수

반환 값
설명

예제
tag.read(String name) String name:
읽을 태그의 이름

Returns:
태그의 데이터 타입
지정된 태그의 현재 값을 읽어옵니다.
// Integer tag
if(tag.read("Counter") < 5) {
	// 실행
}
// Float tag
if (tag.read("Amount") > 1.93684) {
	// 실행
}
// String tag
if (tag.read("Input") != ("Hello")) {
	// 실행
}
tag.write(String name, Value value) String name:
값을 설정할 태그의 이름

Value value:
태그에 설정할 값

Returns:
반환 값 없음
지정된 태그에 값을 설정합니다
tag.write("Counter", tag.read("Counter") + 1);
// "Counter" 태그를 1만큼 증가시킴
tag.writeBatch(Array tagNames, Array tagValues) Array tagNames:
태그 이름들의 배열

Array tagValues:
태그 값들의 배열

Returns:
반환 값 없음
여러 태그에 한 번에 값을 쓸 수 있습니다.
var tags = ["Tag 1", "Tag 2", "Tag 3"];
// 태그 배열
var vals = [0, 100, "Hello"];
// 값 배열
tag.writeBatch(tags, vals);
// 명령 쓰기

스레드

자바스크립트 언어 스크립트

자바스크립트 언어에 내장된 스크립트입니다.

배열

함수 매개변수

반환 값
설명

예제
thread.msleep(int msecs) int msecs:
밀리초 단위의 시간

Returns:
반환 값 없음
현재 스레드를 지정된 시간(밀리초 단위) 동안 일시 정지시키고, 이후 실행을 재개합니다.
thread.msleep(300);
thread.sleep(int secs) int secs:
초 단위의 시간

Returns:
반환 값 없음
현재 스레드를 지정된 시간(초 단위) 동안 일시 정지시키고, 이후 실행을 재개합니다.
thread.sleep(10);
함수 매개변수

반환 값
설명

예제
Array.isArray(value) value:
확인할 값

Returns:
Boolean 값
매개변수가 배열이면 true(1), 아니면 false(0)를 반환합니다.
Official documentation here.
var tags = ["t1", "t2", "t3"];
if (Array.isArray(tags)) {
	// 작업 수행
}

Date

함수 매개변수

반환 값
설명

예제
Date.now() Returns:
숫자
현재 시간의 타임스탬프(밀리초 단위)를 나타내는 숫자를 반환합니다.
공식 문서 확인
system.setDateTime(Date.now());
Date.parse(dateString) dateString:
날짜-시간 문자열 형식의 문자열
YYYY-MM-DDTHH:mm:ss:sssZ
  • YYYY: 연도 (0000 ~ 9999)
  • MM: 월 (01 ~ 12, 기본값 01)
  • DD: 일 (01 ~ 31, 기본값 01)
  • T: 시간 정보 시작을 나타내는 문자 (변경하지 마시오)
  • HH: 시 (00 ~ 23, 기본값 00)
    24:00:00은 자정(다음 날 00:00)을 의미하는 특별한 경우로 허용됨
  • mm: 분 (00 ~ 59, 기본값 00)
  • ss: 초 (00 ~ 59, 기본값 00)
  • sss: 밀리초 (00 ~ 59, 기본값 00)
  • z: 타임존 오프셋
    UTC를 의미하는 문자 z, 또는 + 혹은 - 다음에 HH:mm 형식으로 UTC와의 시간차 표시


Returns:
숫자
지정된 날짜의 타임스탬프를 나타내는 숫자를 반환합니다.
dateString이 유효하지 않으면 NaN을 반환합니다.
공식 문서 확인
var date = Date.parse("04 Dec 1995 00:12:00 GMT");
tag.write("Date", date);
Date.UTC(year, monthIndex, day, hours, minutes, seconds, milliseconds) year:
정수 값으로, 1900년부터 1999년 사이는 0부터 99까지로 표현됩니다


monthIndex:
매개변수 옵션 0부터 11까지의 정수 값으로, 0은 1월, 11은 12월을 의미합니다 (기본값: 0)


day:
매개변수 옵션 1부터 31까지의 정수 값으로, 날짜를 의미합니다 (기본값: 1)


hours:
매개변수 옵션 0부터 23까지의 정수 값으로, 하루 중 시간을 나타냅니다 (기본값: 0)


minutes:
매개변수 옵션 0부터 59까지의 정수 값으로, 분을 나타냅니다 (기본값: 0)


seconds:
매개변수 옵션 0부터 59까지의 정수 값으로, 초를 나타냅니다 (기본값: 0)


milliseconds:
매개변수 옵션 0부터 999까지의 정수 값으로, 밀리초를 나타냅니다 (기본값: 0)


Returns:
숫자
지정된 날짜의 타임스탬프를 나타내는 숫자를 반환합니다.
입력값이 잘못된 경우 NaN이 반환됩니다.
공식 문서 확인
var date = new Date(Date.UTC(96, 1, 2, 3, 4, 5));
tag.write("Date", date);

Global Objects

함수 매개변수

반환 값
설명

예제
decodeURI(encodedURI) encodedURI:
인코딩된 전체 URI

Returns:
문자열
인코딩된 URI 전체를 디코딩한 문자열을 반환합니다.
공식 문서 확인
var uri = "https://mozilla.org/?x=шеллы";
var encoded = encodeURI(uri);
notification.send(encoded);
// 예상 출력: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
decodeURIComponent(encodedURI) encodedURI:
인코딩된 URI 구성 요소

Returns:
문자열
encodeURIComponent()로 인코딩된 URI 구성 요소를 디코딩하여 원래 문자열을 반환합니다.
공식 문서 확인
function containsEC(x) {
  // ie ?,=,&,/ etc
  return decodeURI(x) !== decodeURIComponent(x);
}
notification.send(
  containsEC("%3Fx%3Dtest"));
// ?x=test
// Expected output: true
notification.send(
  containsEC(
  "%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"));
// шеллы
// Expected output: false
encodeURI(uri) uri:
URI로 인코딩할 문자열

Returns:
String
주어진 문자열을 URI 형식에 맞게 인코딩한 새 문자열을 반환합니다.
공식 문서 확인
var uri = "https://mozilla.org/?x=шеллы";
var encoded = encodeURI(uri);
notification.send(encoded);
// 예상 출력: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
encodeURIComponent(uriComponent) uriComponent:
URI 구성 요소로 인코딩할 문자열

Returns:
문자열
주어진 문자열을 URI의 구성 요소 형식에 맞게 인코딩한 새 문자열을 반환합니다
공식 문서 확인
// Encodes characters such as ?,=,/,&,:
notification.send(`?x=${encodeURIComponent("test?")}`);
// 예상 출력: "?x=test%3F"
notification.send(`?x=${encodeURIComponent("шеллы")}`);
// 예상 출력: "?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
escape(str)
사용 중단됨
str:
URI로 인코딩할 문자열

Returns:
문자열
일부 문자를 이스케이프 처리한 새로운 문자열을 반환합니다.
공식 문서 확인
escape(str);
eval(script) script:
자바스크립트 표현식 또는 문장으로 구성된 문자열

표현식에는 기존 객체의 변수 및 속성이 포함될 수 있습니다

Returns:
실행 결과 값
문자열로 전달된 자바스크립트 코드를 실행하고 그 결과 값을 반환합니다.
코드는 스크립트로 해석됩니다.
경고: 문자열을 코드로 실행하는 것은 매우 위험한 보안 취약점을 야기할 수 있습니다.
eval() 사용은 신중히 결정해야 합니다.

공식 문서 확인
notification.send(eval("2 + 2"));
// 예상 출력: 4
notification.send(eval(new String("2 + 2")));
// 예상 출력: 2 + 2
notification.send(eval("2 + 2") === eval("4"));
// 예상 출력: true
notification.send(eval("2 + 2") === eval(new String("2 + 2")));
// 예상 출력: false
isFinite(value) value:
테스트할 값

Returns:
Boolean 값
지정된 값이 NaN, Infinity, -Infinity가 아닌 경우 true(1) 또는 false(0)를 반환합니다.
공식 문서 확인
function div(x) {
  if (isFinite(1000 / x)) {
    return "무한대가 아닙니다.";
  }
  return "무한대입니다!";
}
notification.send(div(0));
// 예상 출력 : "무한대입니다!"
notification.send(div(1));
// 예상 출력 : "무한대가 아닙니다."
isNaN(value) value:
테스트할 값

Returns:
Boolean 값
지정된 값이 NaN(숫자가 아님)인지 여부에 따라 true(1) 또는 false(0)를 반환합니다.
공식 문서 확인
function milliseconds(x) {
  if (isNaN(x)) {
    return "숫자가 아닙니다!";
  }
  return x * 1000;
}
notification.send
  (milliseconds("100F"));
// 예상 출력 : "숫자가 아닙니다!"
notification.send
  (milliseconds("0.0314E+2"));
// 예상 출력 : 3140
parseFloat(string) string:
문자열로 강제 변환되어 해석될 값입니다.

앞부분의 공백은 무시됩니다.


Returns:
Float 값
주어진 string에서 부동소수점 숫자를 해석하여 반환하거나, 첫 번째 비공백 문자가 숫자로 변환될 수 없는 경우 NaN을 반환합니다.
공식 문서 보기
function circumference(r) {
  return parseFloat(r) * 2.0 * Math.PI;
}
notification.send
  (circumference(4.567));
// 예상 출력 : 28.695307297889173
notification.send
  (circumference("4.567abcdefgh"));
// 예상 출력 : 28.695307297889173
notification.send
  (circumference("abcdefgh"));
// 예상 출력 : NaN
parseInt(string)

parseInt(string, radix)
string:
정수로 시작하는 문자열

앞부분의 공백은 무시됩니다.


radix:
매개변수 선택
2~36 사이의 정수

Returns:
정수 값
주어진 string에서 정수를 해석하여 반환합니다.
radix2보다 작거나 36보다 큰 경우, 또는 첫 번째 비공백 문자를 숫자로 변환할 수 없는 경우 NaN이 반환됩니다.
공식 문서 확인
notification.send(parseInt("123"));
// 123 (기본 10진수)
notification.send(parseInt("123", 10));
// 123 (명시적으로 10진수 지정)
notification.send(parseInt("   123 "));
// 123 (공백 무시)
notification.send(parseInt("077"));
// 77 (선행 0 무시)
notification.send(parseInt("1.9"));
// 1 (소수점 이하 절삭)
notification.send(parseInt("ff", 16));
// 255 (소문자 16진수)
notification.send(parseInt("0xFF", 16));
// 255 ("0x" 접두어 포함 대문자 16진수)
notification.send(parseInt("xyz"));
// NaN (숫자로 변환 불가)
unescape(str)
폐기됨
str:
디코딩할 문자열

Returns:
문자열
특정 문자가 디코딩된 새 문자열을 반환합니다.
공식 문서 확인
unescape("abc123"); // "abc123"
unescape("%E4%F6%FC"); // "äöü"
unescape("%u0107"); // "ć"

JSON

함수 매개변수

반환 값
설명

예제
JSON.parse(text)

JSON.parse(text, reviver)
text:
JSON으로 파싱할 문자열

reviver:
매개변수 선택
함수일 경우, 파싱된 값이 반환되기 전에 어떻게 변형될지 정의합니다.
  • key: 해당 값과 연관된 키
  • value: 파싱된 값
  • context (Optional): 현재 파싱된 표현식과 관련된 상태를 포함한 컨텍스트 오브젝트
    • source: 이 값을 나타내는 원본 JSON 문자열


Returns:
오브젝트, 배열, 문자열, 숫자, boolean 또는 null 값값
JSON 문자열을 파싱하여 해당 JavaScript 값 또는 객체를 생성합니다.
Official documentation here.
var json = '{"result":true, "count":42}';
var obj = JSON.parse(json);
notification.send(obj.count);
// 예상 출력: 42
notification.send(obj.result);
// 예상 출력: true
JSON.stringify(value)

JSON.stringify(value, replacer)

JSON.stringify(value, replacer, space)
value:
JSON 문자열로 변환할 값

reviver:
매개변수 선택
문자열화 과정의 동작을 변경하는 함수이거나, value의 어떤 속성만을 포함시킬지 지정하는 문자열 또는 숫자의 배열

space:
매개변수 선택
들여쓰기, 줄바꿈 등의 가독성을 위한 공백 문자를 지정할 수 있는 문자열 또는 숫자

Returns:
JSON 문자열
JavaScript 값을 JSON 문자열로 변환합니다. replacer 함수를 지정하면 값을 선택적으로 대체하거나, 배열을 지정하면 포함할 속성만 선택 가능합니다.
변환 후 객체에 대해 reviver 함수를 통해 추가 변환을 적용할 수도 있습니다.
공식 문서 확인
notification.send(JSON.stringify({ x: 5, y: 6 }));
// 예상 출력: '{"x":5,"y":6}'
notification.send([new Number(3), new String("false"), new Boolean(false)]),
);
// 예상 출력: '[3,"false",false]'
notification.send(JSON.stringify({ x: [10, undefined, function () {}, Symbol("")] }));
// 예상 출력: '{"x":[10,null,null,null]}'
notification.send(JSON.stringify(new Date(2006, 0, 2, 15, 4, 5)));
// 예상 출력: '"2006-01-02T15:04:05.000Z"'

Math

함수 매개변수

반환 값
설명

예제
Math.abs(x) x:
숫자

Returns:
숫자
x의 절댓값을 반환합니다.
x가 음수이거나 -0이면, 반대 부호의 숫자 -x를 반환합니다 (0 이상의 값).
결과는 항상 양수이거나 0입니다.
공식 문서 확인
Math.abs(-Infinity); // Infinity
Math.abs(-1); // 1
Math.abs(-0); // 0
Math.abs(0); // 0
Math.abs(1); // 1
Math.abs(Infinity); // Infinity
Math.acos(x) x:
-1 이상 1 이하의 숫자 (각도의 코사인 값)

Returns:
숫자
x의 아크코사인(역 코사인, 0에서 π 사이의 라디안 각도)을 반환합니다.
x가 -1보다 작거나 1보다 크면 NaN을 반환합니다.
공식 문서 확인
Math.acos(-2); // NaN
Math.acos(-1); // 3.141592653589793 (π)
Math.acos(0); // 1.5707963267948966 (π/2)
Math.acos(0.5); // 1.0471975511965979 (π/3)
Math.acos(1); // 0
Math.acos(2); // NaN
Math.asin(x) x:
-1 이상 1 이하의 숫자 (각도의 사인 값)

Returns:
숫자
x의 아크사인(역 사인, -π/2에서 π/2 사이의 라디안 각도)을 반환합니다.
x가 -1보다 작거나 1보다 크면 NaN을 반환합니다.
공식 문서 확인
Math.asin(-2); // NaN
Math.asin(-1); // -1.5707963267948966 (-π/2)
Math.asin(-0); // -0
Math.asin(0); // 0
Math.asin(0.5); // 0.5235987755982989 (π/6)
Math.asin(1); // 1.5707963267948966 (π/2)
Math.asin(2); // NaN
Math.atan(x) x:
숫자

Returns:
숫자
x의 아크탄젠트(역 탄젠트, -π/2에서 π/2 사이의 라디안 각도)를 반환합니다.
x가 Infinity일 경우 π/2를 반환하고,
x가 -Infinity일 경우 -π/2를 반환합니다.
공식 문서 확인
Math.atan(-Infinity); // -1.5707963267948966 (-π/2)
Math.atan(-0); // -0
Math.atan(0); // 0
Math.atan(1); // 0.7853981633974483  (π/4)
Math.atan(Infinity); // 1.5707963267948966  (π/2)
// (x, y) 좌표 평면에서 x, y 점이 x축과 이루는 각도
var theta = (x, y) => Math.atan(y / x);
Math.atan2(y, x) y:
지점의 y 좌표

x:
지점의 x 좌표

Returns:
숫자
(0, 0)에서 (x, y) 점을 연결한 직선이 x축과 이루는 각도를 라디안으로 반환합니다. 반환 값은 -π에서 π 사이입니다.
공식 문서 확인
Math.atan2(90, 15); // 1.4056476493802699
Math.atan2(15, 90); // 0.16514867741462683
Math.ceil(x) x:
숫자

Returns:
숫자
x보다 크거나 같은 가장 작은 정수를 반환합니다.
이 값은 -Math.floor(-x)와 동일합니다.
공식 문서 확인
Math.ceil(-Infinity); // -Infinity
Math.ceil(-7.004); // -7
Math.ceil(-4); // -4
Math.ceil(-0.95); // -0
Math.ceil(-0); // -0
Math.ceil(0); // 0
Math.ceil(0.95); // 1
Math.ceil(4); // 4
Math.ceil(7.004); // 8
Math.ceil(Infinity); // Infinity
Math.cos(x) x:
라디안 단위의 각도를 나타내는 숫자

Returns:
숫자
x의 코사인 값을 반환합니다 (라디안 단위의 각도).
x가 Infinity, -Infinity, 또는 NaN이면 NaN을 반환합니다.
공식 문서 확인
Math.cos(-Infinity); // NaN
Math.cos(-0); // 1
Math.cos(0); // 1
Math.cos(1); // 0.5403023058681398
Math.cos(Math.PI); // -1
Math.cos(2 * Math.PI); // 1
Math.cos(Infinity); // NaN
Math.exp(x) x:
숫자

Returns:
숫자
ex 값을 반환합니다. e는 자연로그의 밑입니다.
x가 Infinity, -Infinity, 또는 NaN이면 NaN을 반환합니다.
공식 문서 확인
Math.exp(-Infinity); // 0
Math.exp(-1); // 0.36787944117144233
Math.exp(0); // 1
Math.exp(1); // 2.718281828459045
Math.exp(Infinity); // Infinity
Math.floor(x) x:
숫자

Returns:
숫자
x와 같거나 작은 수 중 가장 큰 값을 반환합니다.
-Math.ceil(-x)와 같은 값입니다.
공식 문서 확인
Math.floor(-Infinity); // -Infinity
Math.floor(-45.95); // -46
Math.floor(-45.05); // -46
Math.floor(-0); // -0
Math.floor(0); // 0
Math.floor(4); // 4
Math.floor(45.05); // 45
Math.floor(45.95); // 45
Math.floor(Infinity); // Infinity
Math.log(x) x:
0 이상인 숫자

Returns:
숫자
x의 자연로그 (밑이 e)를 반환합니다.
x가 ±0이면 -Infinity를 반환합니다.
x가 0보다 작으면 NaN을 반환합니다.
공식 문서 확인
Math.log(-1); // NaN
Math.log(-0); // -Infinity
Math.log(0); // -Infinity
Math.log(1); // 0
Math.log(10); // 2.302585092994046
Math.log(Infinity); // Infinity
Math.max()

Math.max(value1)

Math.max(value1, value2)

Math.max(value1, value2, ..., valueN)
value:
매개변수 선택
0 이상의 숫자 중에서 가장 큰 값을 선택하여 반환합니다.

Returns:
Number
인수 중 가장 큰 숫자를 반환합니다.
하나 이상의 숫자 값이 주어져야 하며, 그 중 가장 큰 값을 반환합니다.
값이 없으면 -Infinity를 반환합니다.
공식 문서 확인
Math.max(10, 20); // 20
Math.max(-10, -20); // -10
Math.max(-10, 20); // 20
Math.min()

Math.min(value1)

Math.min(value1, value2)

Math.min(value1, value2, ..., valueN)
value:
매개변수 선택
0 이상의 숫자 중에서 가장 작은 값을 선택하여 반환합니다.

Returns:
숫자
주어진 숫자들 중에서 가장 작은 값을 반환합니다.
만약 파라미터 중 하나가 또는 하나가 NaN으로 변환될 경우, NaN을 반환합니다.
파라미터가 하나도 제공되지 않으면, Infinity를 반환합니다.
공식 문서 확인
Math.min(10, 20); // 10
Math.min(-10, -20); // -20
Math.min(-10, 20); // -10
Math.pow(base, exponent) base:
밑수

exponent:
지수

Returns:
숫자
baseexponent만큼 거듭제곱한 값을 반환합니다.
다음과 같은 경우에 NaN을 반환합니다:
  • exponentNaN인 경우.
  • baseNaN이고 exponent가 0이 아닌 경우.
  • base가 ±1이고 exponent가 ±Infinity인 경우.
  • base < 0이고 exponent가 정수가 아닌 경우.

공식 문서 확인
Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(4, 0.5); // 2 (4의 제곱근)
Math.pow(8, 1 / 3); // 2 (8의 세제곱근)
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1 / 3); // 0.5
Math.pow(-7, 2); // 49 (제곱은 양수)
Math.pow(-7, 0.5); // NaN (음수는 실수 제곱근이 존재하지 않음)
// 짝수 및 홀수 근이 서로 근접해 있고,
// 부동소수점의 정밀도 한계로 인해,
// 음수를 밑으로 하는 분수 지수 계산은
// 수학적으로 실수 결과가 존재하더라도 항상 NaN을 반환합니다.
Math.pow(-7, 1 / 3); // NaN
Math.pow(0, 0); // 1 (0의 0승은 1)
Math.pow(Infinity, 0.1); // Infinity (양의 지수)
Math.pow(NaN, 0); // 1
Math.pow(NaN, 1); // NaN
Math.pow(1, NaN); // NaN
Math.random() Returns:
부동소수점, 모의 난수
0(포함)과 1(미포함) 사이의 부동소수점 모의 난수를 반환합니다.
공식 문서 확인
function getRandom() {
  return Math.random();
}
Math.round(x) Returns:
숫자

Returns:
숫자
x의 값을 가장 가까운 정수로 반올림하여 반환합니다.
공식 문서 확인
Math.round(-Infinity); // -Infinity
Math.round(-20.51); // -21
Math.round(-20.5); // -20
Math.round(-0.1); // -0
Math.round(0); // 0
Math.round(20.49); // 20
Math.round(20.5); // 21
Math.round(42); // 42
Math.round(Infinity); // Infinity
Math.sin(x) x:
라디안 단위로 된 각도

Returns:
숫자
x의 사인 값을 반환합니다 (각도는 -1과 1 사이의 값).
x가 Infinity, -Infinity 또는 NaN이면 NaN을 반환합니다.
공식 문서 확인
Math.sin(-Infinity); // NaN
Math.sin(-0); // -0
Math.sin(0); // 0
Math.sin(1); // 0.8414709848078965
Math.sin(Math.PI / 2); // 1
Math.sin(Infinity); // NaN
Math.sqrt(x) x:
0 이상인 숫자

Returns:
숫자
x의 제곱근을 반환합니다 (단, x는 0 이상의 숫자여야 함).
x가 0보다 작으면 NaN을 반환합니다.
공식 문서 확인
Math.sqrt(-1); // NaN
Math.sqrt(-0); // -0
Math.sqrt(0); // 0
Math.sqrt(1); // 1
Math.sqrt(2); // 1.414213562373095
Math.sqrt(9); // 3
Math.sqrt(Infinity); // Infinity
Math.tan(x) x:
라디안 단위의 각도를 나타내는 숫자

Returns:
숫자
x의 탄젠트 값을 반환합니다.
x가 Infinity, -Infinity 또는 NaN인 경우 NaN을 반환합니다.
공식 문서 확인
Math.tan(-Infinity); // NaN
Math.tan(-0); // -0
Math.tan(0); // 0
Math.tan(1); // 1.5574077246549023
Math.tan(Math.PI / 4); // 0.9999999999999999 (부동소수점 오차)
Math.tan(Infinity); // NaN

Object

함수 매개변수

반환 값
설명

예제
Object.create(proto)

Object.create(proto, propertiesObject)
proto:
새로 생성될 오브젝트의 프로토타입으로 사용할 객체

propertiesObject:
매개변수 선택
지정되었고 정의 되지않을 경우, 새로 생성될 객체에 추가할 속성 설명자들이 담긴 오브젝트. 이 오브젝의 열거 가능한 자체 속성들이 속성 이름으로 사용됩니다.

Returns:
오브젝트
기존 오브젝트를 프로토타입으로 사용해 새 오브젝트를 생성합니다.
공식 문서 확인
var person = {
  isHuman: false,
  printIntroduction: function () {
    console.log(`My name is ${this.name}. Am I human? ${this.isHuman}`);
  },
};
var me = Object.create(person);
me.name = "Matthew"; 
// "name" is a property set on "me", but not on "person"
me.isHuman = true; 
// Inherited properties can be overwritten
me.printIntroduction();
// Expected output: "My name is Matthew. Am I human? true"
Object.defineProperties(obj, props) obj:
속성을 정의할 오브젝트

props:
정의하거나 수정할 속성의 이름을 나타내는 키를 가지며, 속성에 대한 설명을 포함하는 객체
  • configurable: 속성의 설정이 변경 가능하고, 해당 속성이 오브젝트에서 삭제 가능한 경우 (기본값 : false)
  • enumerable: 속성이 오브젝트의 속성 열거 시 나타나는지 여부 (기본값 : false)
  • value (Optional): 속성에 관련된 값 (기본값 : false)
  • writable (Optional): 속성의 값을 변경할 수 있는지 여부 (기본값 : false)
  • get (선택 사항): 속성에 대한 getter 역할을 하는 함수입니다. 정의되지 않은 경우 undefined입니다 (기본값: undefined).
  • set (선택 사항): 속성에 대한 setter 역할을 하는 함수입니다. 정의되지 않은 경우 undefined입니다 (기본값: undefined).


Returns:
오브젝트
오브젝트에 새로운 속성을 정의하거나 기존 속성을 수정하고 오브젝트를 반환합니다.
공식 문서 확인
var object1 = {};
Object.defineProperties(
  object1, 
  {
    property1: {
      value: 42,
      writable: true,
  },
  property2: {},
});
notification.send
  (object1.property1);
// Expected output: 42
Object.defineProperty(obj, prop, descriptor) obj:
속성을 정의하거나 수정할 오브젝트

prop:
정의하거나 수정하려는 속성의 이름을 나타내는 문자열 또는 기호

descriptor:
정의하거나 수정하려는 속성의 설명자

Returns:
오브젝트
오브젝트에서 새로운 속성을 정의하거나 기존 속성을 수정하고 오브젝트를 반환합니다.
공식 문서 확인
var object1 = {};
Object.defineProperty(
  object1, 
  "property1", {
    value: 42,
    writable: false,
});
object1.property1 = 77;
// 엄격 모드에서는 오류가 발생합니다
notification.send
  (object1.property1);
// 예상 출력: 42
Object.
getOwnPropertyDescriptor(obj, prop)
obj:
속성을 찾을 오브젝트

prop:
설명을 가져올 속성의 이름 또는 기호

Returns:
오브젝트
주어진 오브젝트에서 특정 속성의 설명을 반환합니다.
공식 문서 확인
var object1 = {
  property1: 42,
};
var descriptor1 = Object.
  getOwnPropertyDescriptor(
    object1, 
    "property1");
notification.send
(descriptor1.configurable);
// Expected output: true
notification.send
  (descriptor1.value);
// Expected output: 42
Object.getPrototypeOf(obj) obj:
프로토타입을 반환할 오브젝트

Returns:
프로토타입
지정된 오브젝트의 프로토타입을 반환합니다. 오브젝트가 없으면 null을 반환합니다.
공식 문서 확인
var prototype1 = {};
var object1 = Object.create(prototype1);
notification.send
  (Object.getPrototypeOf
    (object1) === prototype1);
// Expected output: true
Object.keys(obj) obj:
오브젝트

Returns:
배열
주어진 오브젝트의 속성 이름을 배열로 반환합니다.
공식 문서 확인
var object1 = {
  a: "somestring",
  b: 42,
  c: false,
};
notification.send
  (Object.keys(object1));
// 예상 출력: Array ["a", "b", "c"]
Object.preventExtensions(obj) obj:
확장 불가능하게 만들 오브젝트

Returns:
오브젝트
오브젝트에 새로운 속성이 추가되지 않도록 방지하며, 오브젝트의 프로토타입을 재할당할 수도 없습니다.
공식 문서 확인
var object1 = {};
Object.preventExtensions
  (object1);
try {
  Object.defineProperty(
    object1, 
    property1", {
      value: 42,
  });
} catch (e) {
  notification.send(e);
// 예상 출력: TypeError: Cannot define property property1, object is not extensible
}

String

함수 매개변수

반환값
설명

예시
String.fromCharCode()

String.fromCharCode(num1)

String.fromCharCode(num1, num2)

String.fromCharCode(num1, num2, ..., numN)
num:
매개변수 선택
0과 65,535(0xFFFF) 사이의 숫자로 UTF-16 코드 유닛을 나타냅니다.
0xFFFF를 초과하는 숫자는 마지막 16비트로 잘립니다.

Returns:
문자열
지정된 UTF-16 코드 유닛 시퀀스로 생성된 문자열을 반환합니다.
공식 문서 확인
notification.send
(String.fromCharCode(189, 43, 190, 61));
// 예상 출력: "½+¾="