JavaScript는 숫자를 정수와 실수로 나누어 구분하지 않음.
→ 모든 숫자를 8byte의 실수 형태로 처리.(정수만을 표현하기 위한 데이터 타입은 없음)
편의성을 위해 정수 리터럴과 실수 리터럴을 제공.
숫자의 연산 처리 시, 실수 형태로 하기 때문에 특정 소수점을 정확하게 표현하지 못함.
기본 연산 기호는 Java와 같음.
JavaScript는 언더플로우, 오버플로우, 0으로 나누는 연산에 대한 예외를 발생 시키지 않음.
숫자와 관련된 특별한 상수 존재
1. Infinity : 무한대를 나타내는 상수, 어떠한 수를 0으로 나누거나 Infinity를 어떠한 수로 사칙연산한 결과.
2. NaN(Not a Number) : 계산식의 결과가 숫자가 아님을 나타내는 상수
func1();
func2();
function func1() { // 함수선언문
console.log("hello");
}
var func2 = function() { // 함수표현식
console.log("hello2");
}
연산자 | 설명 |
---|---|
++ | 선행 ++은 현재 값을 반환하고 값을 증가. 후행 ++은 값을 증가하고 결과값을 반환. |
-- | 선행 --은 현재 값을 반환하고 값을 감소. 후행 --은 값을 감소하고 결과값을 반환. |
- | 부호를 전환해서 결과값 반환. |
+ | 숫자로 값을 반환 |
~ | 비트단위 연산에서 사용하며 NOT 연산 수행. |
~ | 논리연산에서 사용하며 boolean 결과를 반환. |
delete | 프로퍼티를 제거. |
typeof | 피연산자 타입을 리턴. |
void | Undefined 값을 알려줌. |
*, /, % | 곱하기, 나누기, 나머지 연산결과 반환. |
+, - | 값이 숫자일 때는 더하기, 빼기의 연산결과 반환. |
+ | 값이 문자열이면 문자열을 서로 결합. |
<< | 비트연산자로 값을 왼쪽으로 이동. |
>> | 비트연산자로 값을 오른쪽으로 이동. |
>>> | 부호비트 확장 없이 값을 오른쪽으로 이동. |
<, <=, >, >= | 숫자의 대소비교. |
instanceof | 객체가 특정 객체의 타입인지를 확인. |
in | 프로퍼티가 존재하는지 확인. |
== | 동등 관계인지 확인. |
!= | 동등하지 않은지 확인. |
=== | 값이 일치하는지 확인.(자료형까지 비교) |
!== | 값이 일치하지 않는지 확인.(자료형까지 비교) |
& | 비트 단위 연산자로 AND 연산. |
^ | 비트 단위 연산자로 XOR 연산. |
| | 비트 단위 연산자로 OR 연산. |
&& | AND 연산. |
|| | OR 연산. |
조건 ? true일 때 : false일 때 | 조건에 해당하는 구문을 수행. |
= | 변수 또는 프로퍼티에 값을 할당. |
, | 1번째 구문은 버리고 다음 구문 값을 반환. |
함수를 변수, 객체, 배열 등에 저장할 수 있고 다른 함수에 전달하는 전달인자(콜백함수) 또는 리턴 값으로 사용 가능.
함수는 프로그램 실행 중 동적으로도 생성 가능.
함수 정의 방법
1. 함수 선언문
function 함수이름(매개변수1, 매개변수2, ..., 매개변수n) {
// 함수 내용
}
var 함수이름 = function (매개변수1, 매개변수2, ..., 매개변수n) {
// 함수 내용
}
var 함수이름 = new Function("매개변수1", "매개변수2", ..., "매개변수n", "함수내용");
함수명 | 설명 |
---|---|
alert() | 경고용 대화상자를 보여줌. |
confirm() | 확인, 취소를 선택할 수 있는 대화상자를 보여줌. |
prompt() | 입력창이 있는 대화 상자를 보여줌. |
open() | 새로운 창을 오픈. |
scroll() | 창을 스크롤 함. |
find() | 창 안에 지정된 문자열이 있는지 확인. 있으면 true, 없으면 false. IE 지원 안함. |
stop() | 불러오기를 중지. IE 지원 안함. |
print() | 화면에 있는 내용을 프린터로 출력. |
moveBy() | 창을 상대적 좌표로 이동. 수평방향과 수직방향의 이동략을 픽셀로 지정. |
moveTo() | 창을 절대적 좌표로 이동. 창의 왼쪽 상단 모서리를 기준으로 픽셀로 지정. |
resizeBy() | 창의 크기를 상대적인 좌표로 재설정. |
resizeTo() | 창의 크기를 절대적인 좌표로 재설정. 창의 크기를 픽셀로 지정. |
scrollBy() | 창을 상대적인 좌표로 스크롤. 창의 표시영역의 수평방향과 수직방향에 대해 픽셀로 지정. |
scrollTo() | 창을 절대적인 좌표를 스크롤 창의 왼쪽 상단 모서리를 기준으로 픽셀로 지정. |
setTimeout() | 지정한 밀리초 시간이 흐른 후에 함수 호출. |
clearTimeout() | setTimeout 함수를 정지. |
setInterval() | 지정한 밀리초 주기마다 함수를 반복적으로 호출. |
clearInterval() | setInterval 함수를 정지. |
eval() | 문자열을 JavaScript 코드로 변환하여 실행. |