Skip to content

Data type

식별자

자바스크립트 프로그램의 변수, 상수, 함수의 이름

식별자를 만드는 규칙

첫번째문자
  • 알파벳(A-Z, a-z), _(언더스코어), $만 사용 가능
두번째문자 이상
  • 알파벳, _(언더스코어), $
  • 대소문자는 구분되어 다루어짐
예약어 사용불가
  • false, for, if, null

데이터 타입

숫자

정수, 실수(예: 42, 3.14)

논리형

참, 거짓(예: true, false)

문자열

(예: ‘좋은세상’, “a”, “365”, “2+4”)

객체 레퍼런스

객체를 가리킴. C 언어의 포인터와 유사

null

값이 없음을 표시하는 특수 키워드. Null, NULL과는다름

자바스크립트에는 문자 타입 없음. 문자열로 표기

변수

자바스크립트 코드가 실행중 데이터 저장공간

선언

변수이름을 정하고, 저장공간 할당

var score;

지역변수와 전역변수

지역변수 전역변수
함수 내에 var로 정의 함수 밖에 선언되거나, 함수 내에 var 없이 선언된 변수
선언된 함수 내에서만 접근 가능 프로그램 전역에서 사용 가능

this로 전역변수 접근

var x; // 전역변수
function f() {
   var x; // 지역변수
   x = 1; // 지역변수 x에 1 저장
   this.x= 100; // 전역변수 x에 100 저장
 }

상수

데이터값 그 자체

문자열 상수

""'' 모두사용

<p onmouseover="document.body.style.color = 'brown'">

인용부호를 문자를 그대로 사용하고자 하는 경우 \" 사용

식과 연산

연산자

산술 연산자

더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)

증감 연산자

++-- 사용

  • 전위 연산자: 증감 연산을 실행하고 값 반환
    ex) b = ++a
  • 후위 연산자: 값을 우선 반환하고 증감 연산 실행
    ex) b = a++

대입 연산자

오른쪽 식의 결과를 왼쪽 변수에 대입

비교 연산자

두 값 비교, true or false의 결과를 내는 연산

논리 연산자

AND(&&), OR(||), NOT(!)

조건 연산자

condition ? expT : expF

condition이 true면 전체 결과는 expT의 계산 값, false면 expF의 계산 값

비트 논리 연산

연산자 설명
a & b 두 비트 모두 1이면 1, 아니면 0
a | b 두 비트 모두 0이면 0, 아니면 1
a ^ b 두 비트가 다르면 1, 같으면 0
~ a 1을 0으로, 0을 1로 변환

비트 시프트 연산

시프트: 저장 공간에서 비트 이동

연산자 설명
a << b a의 비트들을 왼쪽으로 b번 이동, 최하위 비트의 빈자리는 0으로 채움, 한 비트 시프트마다 곱하기 2의 효과 발생, a의 값은 변환 X
a >> b a의 비트들을 오른쪽으로 b번 이동, 최상위 비트의 빈자리는 시프트 전 최상위 비트로 채움, 한 비트 시프트마다 나누기 2의 효과 발생, a의 값은 변화 X
a >>> b a의 비트들을 오른쪽으로 b번 이동, 최상위 비트의 빈자리는 0으로 채움, a의 값은 변화 X

문자열 연산자

  • 문자열 연결(+)
  • 비교 연산자(!=, ==, > , <, <=, >=)는 문자열 비교에 사용

조건문

if문

var grade;
var score = prompt("점수를 입력하세요", 100);
score = parseInt(score); // 문자열을 숫자로 바꿈
if(score >= 90) // score가 90 이상
    grade = "A";
else if(score >= 80) // 80 이상 90 미만
    grade = "B";
else if(score >= 70) // 70 이상 80 미만
    grade = "C";
else if(score >= 60) // 60 이상 70 미만
    grade = "D";
else // 60 미만
    grade = "F";

switch문

  • 값에 따라 서로 다른 코드를 실행
  • 실행 문장을 중괄호로 둘러싸지 않는다

switch() {
case 값1: // 식의 결과가 값1과 같을 때
실행 문장 1;
break;
case 값2: // 식의 결과가 값2와 같을 때
실행 문장 2;
break;
...
case 값m:
실행 문장 m; // 식의 결과가 값과 같을 때
break;
default: // 어느 값과도 같지 않을 때
실행 문장 n;
}

case문의 값

  • case문의 값으로는 상수만 가능
  • 값에 변수나 식은 사용 불가

break 문의 역할

  • switch문 종료

반복문

for문

for (초기문; 조건식; 반복  작업){
    // 실행 문장
}

while문

while (조건식) {
    // 실행 문장
}

do-while문

do {
    // 실행문장
} while (조건식);

break문
가장 안쪽 반복문 하나만 벗어나도록 제어

continue문
반복 코드 실행 중단, 다음 반복으로 점프

함수

  • 목적을 가지고 작성된 코드 블록
  • 데이터 전달받아 처리한 후 결과를 돌려주는 코드 블록

함수 정의와 호출

function adder(a, b) { // 함수 정의
// 실행코드
var sum;
sum = a+b;
return sum;
}

var n = adder(24567, 98374); // 함수 호출

JS에서 제공하는 전역 함수

전역함수명 설명
eval(exp) exp의 자바스크립트 식을 계산하고 결과 리턴
parseInt(str) str 문자열을 10진 정수로 변환하여 리턴
isNaN(value) value가 숫자가 아니면 true 리턴

Last update : 8 mai 2023
Created : 10 octobre 2019