스크립트 기초 정보
연산자
항목 | 설명 |
---|---|
+ 덧셈 | 변수 두 개를 덧셈합니다. . 예시: 3 + 4 결과는 7. |
- 뺄셈 | 좌측 변수에서 우측 변수를 뺄셈합니다. 예시: 7 - 3 결과는 4. |
* 곱셈 | 변수 두 개를 곱셈합니다. 예시: 3 * 4 결과는 12. |
/ 나눗셈 | 좌측 변수를 우측 변수로 나눗셈합니다. 예시: 7/7 결과는 1. |
% 나머지 | 좌측 변수를 우측 변수로 나눈 뒤의 나머지를 반환합니다. 예시: 4/3 결과는 1. |
&& 논리 AND | 두 변수 모두 true 라면 true를 반환합니다. 둘 중 하나라도 false 라면 false를 반환합니다. 예시: A = true, B = false, A && B 결과는 false. |
|| 논리 OR | 두 변수 중 하나라도 true 라면 true를 반환합니다. 둘 다 false 라면 false를 반환합니다. 예시: A = true, B = false, A || B 결과는 true. |
! 논리 NOT | 변수를 반전시킵니다. 예시: A = true, !A 결과는 false. |
< 미만 | 좌측 변수가 우측 변수보다 작으면 true, 같거나 크면 false를 반환합니다. 예시: A = 3, B = 4, A < B 결과는 true. |
> 초과 | 좌측 변수가 우측 변수보다 크면 true, 같거나 작으면 false를 반환합니다. 예시: A = 3, B = 4, A > B 결과는 false. |
<= 이하 | 좌측 변수가 우측 변수보다 같거나 작으면 true, 크면 false를 반환합니다. 예시: A = 4, B = 4, A <= B 결과는 true. |
>= 이상 | 좌측 변수가 우측 변수보다 같거나 크면 true, 작으면 false를 반환합니다. 예시: A = 5, B = 7, A >= B 결과는 false. |
== 동등 | 두 변수가 동등한 값을 지니면 true, 아니면 false를 반환합니다. 예시: A = 5, B = 5, A == B 결과는 true. |
=== 일치 | 두 변수가 동일한 타입이고 동일한 값을 지니면 true, 아니면 false를 반환합니다. 예시: A = 1, B = '1', A === B 결과는 false. |
!= 부등 | 두 변수의 값이 다르면 true, 아니면 false를 반환합니다. 예시: A = 2, B = 3, A != B 결과는 true. |
in | 객체 내에 지정한 속성이 존재하는지 확인합니다. 예시: myObj = {a: 1, b: 2, c: 3}; if ('a' in myObj) { notification.send('Property "a" exists in myObj.'); } else { notification.send('Property "a" does not exist in myObj.'); } 결과는 'Property "a" exists in myObj' 알림이 실행됩니다. |
= 대입 | 변수에 값을 대입합니다. 예시: A = 5 A 호출 시 A에는 값 5가 저장되어 있습니다. |
+= 더하기 대입 | 좌측 변수에 우측 변수의 값을 더한 값을 대입합니다. 예시: A = 5; A+= 2; A 결과는 7. |
-= 빼기 대입 | 좌측 변수에서 우측 변수의 값을 뺀 값을 대입합니다. 예시: A = 5; A -= 2; A 결과는 3. |
*= 곱하기 대입 | 좌측 변수에 우측 변수의 값을 곱한 값을 대입합니다. 예시: A = 5; A *= 2; A 결과는 10. |
/= 나누기 대입 | 좌측 변수를 우측 변수로 나눈 값을 좌측 변수에 대입합니다. 예시: A = 5; A *= 2; A 결과는 10. |
++ 증가 | 변수에 1을 더합니다. 예시: A = 2; A++; A 결과는 3. |
- - 감소 | 변수에서 1을 뺍니다. 예시: A = 2; A- -; A 결과는 1. |
~ 비트 NOT | 변수에 저장된 값의 모든 비트를 전환합니다. 예시: A = 3 (0000 0000 0000 0011) A = ~A; A의 비트는 1111 1111 1111 1100 입니다. (10진수 값 65532) |
& 비트 AND | 비트 단위의 논리 AND 연산을 수행합니다. 예시: A = 3, B = 4 A & B; 결과는 0. |
| 비트 OR | 비트 단위의 논리 OR 연산을 수행합니다. 예시: A = 3, B = 4 A | B 결과는 7. |
^ 비트 XOR | 비트 단위의 논리 XOR 연산을 수행합니다. 예시: A = 3, B = 4 A ^ B 결과는 7. |
<< 비트 왼쪽 시프트 | 왼쪽 변수의 비트를 오른쪽 변수의 값만큼 왼쪽으로 시프트합니다. 왼쪽으로 넘치는 비트는 버리고 오른쪽의 비트는 0으로 채웁니다. 예시: A = 2, B = 5 A << B 결과는 64. |
>> 비트 오른쪽 시프트 (부호있음) | 왼쪽 변수의 비트를 오른쪽 변수의 값만큼 오른쪽으로 시프트합니다. 오른쪽으로 넘치는 비트는 버리고 왼쪽은 제일 큰 비트의 값으로 채웁니다. 예시: A = 2, B = 5 A >> B 결과는 0. |
>>> 비트 오른쪽 시프트 (부호없음) | 왼쪽 변수의 비트를 오른쪽 변수의 값만큼 오른쪽으로 시프트합니다. 오른쪽으로 ㄴ머치는 비트는 버리고, 왼쪽은 0으로 채웁니다. 예시: A = 2, B = 5 A >>> B 결과는 0. |
typeof | 변수의 데이터 타입을 반환합니다. 예시: A = 2; typeof A; 결과는 "number". |
void | 표현식을 평가하지만 값을 반환하지는 않도록 설정합니다. 예시: void function foo() { notification.send("in foo"); }(); 지정되지 않은 값 (undefined) 을 반환합니다. |
new | 사용자가 생성한 객체, 날짜, 어레이 등의 새 인스턴스를 생성합니다. 예시: var oldTime = new Date("Dec 31 1999"); oldTime.getFullYear(); // 1999 var currentTime = new Date(); currentTime.getFullYear(); // returns the current year 새 인스턴스의 Date를 생성합니다. |
delete | 객체에서 속성을 삭제합니다. 예시: var resident = { firstName: 'John', lastName: 'Smith'}; notification.send(JSON.stringify(resident)); // {"firstName": "John", "lastName": "Doe"} delete resident.firstName; notification.send(JSON.stringify(resident)); // {"lastName":"Doe"} resident 에서 firstName을 삭제합니다. |
, | 각 피연산자를 왼쪽에서 오른쪽 순서로 평가하고, 마지막 연산자의 값을 반환합니다. 예시: var s = ""; for (var i = 1, j = -1; i <= 3; i++, j- -) { s += "i: " + String(i) + ", "; s += "j: " + String(j); s += "\n"; } notification.send(s); // i: 1, j: -1 // i: 2, j: -2 // i: 3, j: -3 |
?…: | a ? b : c 형식으로 사용하는 조건 연산자입니다. a가 참일 경우 b를 반환하며, a가 거짓일 경우에는 c를 반환합니다. 예시: var isOn = tag.read("checkLight"); var s = isOn ? "Light is on.": "Light is off."; notification.send(s); |
키워드
항목 | 설명 |
---|---|
if…else | 조건이 참일 때 if 문을 실행하고 아닐 때 else 문을 실행합니다. |
while | 조건이 참일 때 실행할 반복문입니다. 조건이 거짓이 될 때 멈춥니다. |
do…while | 특정 조건이 거짓으로 판별될때까지 반복합니다. |
for | 지정된 조건이 거짓이 될 때까지 지정된 숫자만큼 반복합니다. |
break | 반복문 (while, for, switch) 에서 벗어납니다. |
continue | 현재 반복문을 종료하고 다음 반복문으로 넘어갑니다. |
switch…case | 표현식 평가 후 일치하는 case의 명령문을 실행합니다. 일치하는 case가 없으면 기본 case를 실행합니다. |
default | Switch 문에서 기본값이 될 명령문을 입력합니다. |
function | 특정 동작을 수행하고자 하는 코드의 한 블록을 정의합니다. |
return | 동작을 끝내고 값을 반환합니다. |
arguments | function 내에서 사용할 값을 지정합니다. |
try…catch | 실행을 시도할 블록을 표시하고, 그 안에서 예외가 발생할 경우 처리를 맡을 하나 이상의 반응 명령문을 지정합니다. |
throw | 예외 객체를 던집니다. |