기본 자료형, 반복문, 조건문

keis·2019년 12월 6일

JavaScript

목록 보기
4/8

기본 데이터 타입

  • Undefined
  • Null
  • Boolean
  • Number
  • String
  • Symbol(ES 6에서 추가)

그 외 데이터 타입

  • Object

Undefined

Undefined는 선언은 되었지만 값이 할당된 적이 없는 변수에 접근하거나,

존재하지 않는 객체 프로퍼티에 접근할 경우 반환되는 값이다.

Null은 사용자가 고의로 값을 할당하여 값이 없다는 것을 명시한 것이고,

undefined는 사용자가 아닌 프로그램이 실행을 하면서 존재하지 않는 값의 변수를 호출하도록 (주로 오타나 누락된 변수) 한

경우와 같이 호출상 오류를 나타내는 특정형식이라고 생각하면 쉽다.

var message;
alert(typeof message); // "undefined"

Boolean 타입

  • true, false 2가지 값을 갖음.
  • Boolean() 함수를 사용하여 값을 불리언으로 변환할 수 있음.
데이터 타입true로 변환되는 값false로 변환되는 값
Number0 이 아닌 모든 숫자, 무한대 포함O, NaN
Booleantruefalse
Object모든 객체null
String비어 있지 않은 문자열 모두""(빈 문자열)
Object해당 없음undefined
console.log(Boolean(true));     //true
console.log(Boolean(false));    //false
console.log(Boolean("abc"));  //true
console.log(Boolean(""));     //false
console.log(Boolean(1));        //true
console.log(Boolean(NaN));      //false
console.log(Boolean({"a" : 1}));//true
console.log(Boolean(null));     //false
console.log(Boolean(undefined));//false

Number 타입

  • 정수와 부동소수점 숫자를 나타냄
  • 10진법, 8진법, 16진법 표현할 수 있다. (16진수, 8진수로 표현하든 실제 계산 할 때는 항상 10진수로 변환하여 계산)
  • 부동 소수점을 표현 할 때, 소수점 앞에 반드시 정수를 써야 하는 건 아니지만 쓰는 것을 권장

NaN(Not a Number)

  • 숫자를 반환할 것으로 의도한 조작이 실패했을 때 반환하는 값
    * ex) 예를 들어 어떤 숫자를 0으로 나누려 하면 다른 언어에서는 일반적으로 에러를 반환하지만 ECMAScript에서는 숫자를 0으로 나누면 NaN을 반환하고 나머지 처리는 계속 수행함.
//NaN이 포함된 조작은 항상 NaN을 반환함.
alert(NaN/10); // NaN
  
//NaN은 어떤 값과도 일치하지 않고, NaN끼리도 일치하지 않음.
alert(NaN == NaN) //false

String 타입

  • 문자열 데이터 타입은 16비트 유니코드 문자의 연속
  • "" 또는 ''로 감싸서 표현함 (ECMAScript에서는 둘을 구분하지 않음)
  • 문자열 길이

비교

alert(1 == '1'); // true -> 값만 비교
alert(1 === '1'); // false -> 값 + 데이터 형까지 비교

조건문

삼항 연산자

//test ? expression1 : expression2
  
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
  
//if문으로 작성하면 다음과 같음.
var now = new Date();
var greeting = "Good";
  
if(now.getHours() > 17) {
    greeting += " evening.";
} else {
   greeting += " day.";
}

반복문

for/in문

for(var in object) {
    실행할 코드
}
  
ex)
var person = {
    'firstName' : 'yoon',
    'lastName' : 'chuljoong',
    'age' : 31
};
  
for(var key in person) {
    console.log('key: ' + key + ', value: ' + person[key]);
}

0개의 댓글