ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2023- 05 - 13 형 변환 (데이터타입 변환), 연산자
    Today I Learned/TIL 05 2023. 6. 1. 07:20

     

    오늘 할일

    자바스크립트 1주차 강의 듣기.

    개인과제 복습하기.

     

    오늘 배운 것

     

    1. 형변환  2.연산자

     

    형 변환 : 형태를 바꾼다. 문자열을 숫자열로, 숫자열을 문자열로 등등.

     

    1. 암시적 형 변환 : 개발자가 의도하지 않았고, 자동적으로 바뀌는 형 변환

    2. 명시적 형 변환 : 개발자가 의도한 형 변환

     

     

    암시적 형변환

    (1) 문자열과 다른 데이터타입(숫자열, null, 객체, underined 등)이 더하기되면 문자열이 된다.

     

    let result = 1+"2";
    console.log(result); // 12
    console.log(typeof result); // string 
    
    (숫자열 + 문자열 = 문자열(string))
    
    
    let result = "1" + true;
    console.log(result);        // 1true
    console.log(typeof result);  // string
    
    (문자열 + 불리언 = 문자열(string))

     

     

    (2) 빼기, 곱하기, 나누기는 항상 숫자열로 변환된다. (문자열끼리 해도 숫자열이 된다.)

     

    let result = 1 - "3";
    console.log(result);   // -2 
    console.log(typeof result); // number
    
    (숫자열 - 문자열 = 숫자열(number))
    
    
    let result = "4" * "4";
    console.log(result);  // 16
    console.log(typeof result); // number
    
    (문자열 * 문자열 = 숫자열(number))

     

     

     명시적 형 변환

     

    (변환시킬 타입(변환할 타입))    ->여기서 변환시킬 타입 앞글자는 대문자로 써야함. (String, Number, Boolean)

     

    1. Boolean 형변환

     

    boolean 값이 false로 나오는 경우

    console.log(Boolean(0));            => 숫자열 0을 boolean타입으로 변환시킨다.
    
    console.log(Boolean(""));           => 값이 없는 문자열("")을 boolean타입으로 변환시킨다.
    
    console.log(Boolean(null));          => null을 boolean타입으로 변환시킨다.
    
    console.log(Boolean(undefined));     => undefined을 boolean타입으로 변환시킨다.
    
    console.log(Boolean(NaN));           => NaN을 boolean타입으로 변환시킨다.
    
    
    // false 라는 불리언 값으로 나옴.


    boolean 값이 true로 나오는 경우

    console.log(Boolean("false"));         => 값이 있는 문자열 "false"을 boolean 타입으로 변환시킨다
    console.log(Boolean());                => 빈 객체를 boolean타입을 변환시킨다.
    
    // true 라는 불리언 값으로 나옴



    2. 문자열 형변환

    let result = String(123)
    console.log(result);
    console.log(typeof result);         => 123, string
     
    
    let result = String(true)
    console.log(result);
    console.log(typeof result);        => true, string
    
    
    let result = String(null)
    console.log(result);
    console.log(typeof result);         => null, string
    
    
    let result = String(undefined)
    console.log(result);
    console.log(typeof result);        => undefined, string

     

    여기서 123, true, null, undefined는 다 문자열(string)타입으로 출력된다.

     

     

    3. 숫자열 형변환

    let result = Number("abc")
    console.log(result)
    console.log(typeof result) // NaN, number
    
    (result만 출력하면 NaN이지만 typeof하면 문자열"abc"가 숫자열로 변형됨)
    
    
    let result = Number("123")
    console.log(result)
    console.log(typeof result)  //123, number

     

     

    연산자


    1. 더하기 연산자 (문자열 우선시)

     console.log(1 + 1);   // 2
    console.log(1 + "1");  // 11


    2. 빼기 연산자 (숫자열 우선시)

    console.log(1 - "2");     // -1
    console.log(1 - 2);    // -1


    3. 곱하기 연산자 (숫자열 우선시)

     console.log(2 * 3);    // 6
     console.log("2" * 3);   // 6


    4. 나누기 연산자 (숫자열 우선시)

    console.log("4" / 2);    // 2
    console.log(4 / 2);      // 2



    5. 나누기 연산자(/) vs 나머지 (나누고 나서 몫을 뺀 나머지) 연산자(%)

    console.log(5 / 2);   // 2.5
    console.log(5 % 2);   // 1 (5를 2로 나누고 남은 나머지값 1)



    6. 할당 연산자 (assignment) = 

    6-1. 등호 연산자 (=)

       let x = 10;          // 등호 "=" 연산자가 곧 할당 연산자.
       console.log(x);    // 10


    6-2. 더하기 등호연산자 (+=)

     let x = 10;
     x += 5;               
    console.log(x);   // 15


     
    6-3. 빼기 등호연산자 (-=)

    let x = 15;
    x -= 5;    
    console.log(x);  // 10



    6-4. 곱하기 등호연산자 (*=)

       let a = 10;  
       a *= 2;
       console.log(a); // 20




    비교 연산자 (결과값의 참과 거짓에 따라 true또는 false를 반환하는 연산자)

    1. 일치 연산자 (===) : 데이터타입까지 일치한 연산자 and

    console.log(2 === 2);  // true
    console.log("2" === 2);  // false



    2. 불일치 연산자 (!==) : 거꾸로. 데이터타입까지 일치해야 false를 반환하는 연산자. 불일치하면 true를 반환함.

    console.log(2 !== 2);  // false
    console.log("2" !== 2);  // true


    3. 작다 연산자 (<) , 작거나 같다 연산자 (<=)

    console.log(2 < 3);   // true
    console.log(2 <= 3);  // true
    console.log(3 <= 3);  // true
    console.log(4 <= 3);  // false



    4. 논리 연산자


     4-1. 논리곱 연산자 (&&) : 모두 true일 때만 true 반환. &&는 and(둘다)의 의미

     

    조건1 && 조건2 = 조건1, 조건2 둘다 만족시켜야만 true

    console.log(true && true);  // true
    console.log(true && false);  // false
    console.log(false && true);  // false
    console.log(false && false);  // false


     
     4-2. 논리합 연산자 (||) : 두 값중 하나라도 true인 경우 true 반환. ||는 or(또는)의 의미

     

    조건1 || 조건2 = 조건1, 조건2 중 하나라도 만족시키면 true

    console.log(true || true);   // true
    console.log(true || false);   // true
    console.log(false || true);   // true
    console.log(false || false);  // false



    4-3. 논리부정 연산자 (!) : true값을 false로 바꿈. 사용빈도가 가장 높다!

       console.log(!true);  // false
       
       let a = true;
       console.log(!a);  // false




     5. 삼항 연산자 (활용빈도 상당히 높다) 조건에 따라 값을 선택한다.

     

    조건  ?  조건이true인 경우  :  조건이 false인 경우

    let a = 10;
    let result = (a > 5) ? "크다" : "작다";
    console.log(result);
    
    // "크다"


     
    위에서
    삼항 (항이 3개: 첫번째항 : (a > 5), 두번째항 "크다", 세번째항 "작다"
    첫번째 항이 조건이고, 조건이 true이면 result값에 두번째항 "크다"를 할당, false면 result값에 세번째항 "작다"를 할당

     

    연습문제: 3항 연산자를 이용해서 y가 10보다 작은경우 작다를, 10보다 큰경우 크다를 출력해주세요.

    let y = 20;
    let answer = (y < 10) ? "크다" : "작다"; 
    console.log(answer);
     
    // "작다"



    06. 타입 연산자 (typeof)

    console.log(typeof "5"); // string 문자열 타입 
    console.log(typeof 5);  // number 숫자열 타입

    댓글

Designed by Tistory.