[JS] var, 자료형, 자료형 변환, 연산자

seratpfk·2022년 10월 5일
0

JAVA

목록 보기
93/96

var

  • 변수 선언시 생략 가능
  • 같은 변수명으로 재선언 가능
  • 초기화 생략 가능 : undefined 상태
  • 저장된 값의 수정 가능
  • 호이스팅(항상 먼저 처리되는 코드) 대상임
		a = 10;    // 변수 선언 키워드(var) 생략 가능
        console.log(a);

        a = null;  // 강제로 저장된 값을 없앰
        console.log(a);

        var b;  // 초기화가 없으면 undefined 상태
        console.log(b);

        console.log(c);
        var c;  // 호이스팅(항상 먼저 처리되는 코드)

        var d = 10;  // 10을 저장하면서 number 타입을 가짐
        console.log(d, typeof d);

        var d = 'hello';  // 같은 이름의 변수를 재선언할 수 있음
        console.log(d, typeof d);

        var d = Math.sqrt(-25);  // 루트 -25를 의미함(실제로 존재하는 숫자가 아님 : NaN)
        console.log(d, typeof d);

        var d = 10 / -0;  // Infinity, -Infinity
        console.log(d, typeof d);

기본 자료형

            1) number
                (1) 정수, 실수 구분이 없음
                (2) 숫자, NaN(Not a Number), +Infinit, -Infinit(+0/-0으로 나누기를 해 보면 확인 가능)
            2) string
                (1) 문자, 문자열 구분 없이 모두 string
                (2) 작은 타옴표(''), 큰 따옴표("")을 모두 사용할 수 있음
            3) boolean
                (1) true, false
            4) null
                (1) 의도적으로 값을 비운 상태
                (2) null
            5) undefined
                (1) 값이 저장된 적이 없는 상태(초기화를 안한 변수)
                (2) undefined 

자료형 변환

        1. 문자열 -> 정수
            1) Number('100') : 100
            2) parseInt('100') : 100
        2. 문자열 -> 실수
            1) Number('1.5') : 1.5
            2) parseFloat('1.5') : 1.5
        3. 정수/실수 -> 문자열
            1) String(100) : '100'
            2) String(1.5) : '1.5'
       var a = '100';
       var b = Number(a);
       console.log(b, typeof b); // 100
       var b = parseInt(a);
       console.log(b, typeof b); // 100

       // 실수를 parseInt 처리하면?
       var a = '1.5';
       var b = parseInt(a);
       console.log(b, typeof b); // 1로 처리됨

        var c = '1.5';
        var d = Number(c);
        console.log(d, typeof d); // 1.5
        var d = parseFloat(c);
        console.log(d, typeof d); // 1.5

       var e = '100';
       console.log(String(e)); // 100
       var e = '1.5';
       console.log(String(e)); // 1.5

연산자

  1. 관계 연산자
    (1) == : 값만 비교('1'과 1을 같은 값으로 인식)
    (2) === : 값과 타입을 모두 비교('1'과 1을 다른 값으로 인식)
  2. 조건 연산자
    (1) (조건식) ? true인 경우 : false인 경우
  3. 문자열 연산자
    (1) + : 문자열 연결 (문자열이 하나라도 포함되면 연결)
    (2) + 이외의 산술 연산자(-,*,/ 등)는 문자열이 포함되더라도 산술 연산을 수행
       var a = '1';
       var b = 1;
       console.log(a == b, a === b); // true false

       console.log(1 + '1'); // '11'
       console.log('1' + '1'); // '11'
       console.log('5' - 2); // 3
       console.log('5' - '2'); // 3

연산자 연습문제

최저시급 9160원
8시간 근무 : 시급
8시간 초과 근무 : 시급 * 1.5
10시간 근무하면 일급 얼마?

        var payPerHour = 9160; // const payPerHour = 9160;
        var workTime = 10;
        var regular = payPerHour * workTime; // 기본급여
        var extra = (workTime <= 8) ? 0 : (workTime - 8) * payPerHour * 0.5; // 초과급여
        console.log(regular + extra);

0개의 댓글