JS 변수, 타입변환

다람·2022년 6월 27일
0

JS

목록 보기
3/4

변수

  • 값을 저장하고 그 저장된 값을 참조하기 위해 사용
  • 한 번 쓰고 버리는 값이 아니라 유지할 필요가 있는 값은 변수에 담아 사용
    --> 변수의 명칭(이름)을 통해 값의 의미를 정확하게 할 수 있어야 코드의 가독성이 좋아진다.
    --> JS에서 변수라는 것을 선언할 때는 var, let, const라는 키워드를 사용한다.
    --> 기계(컴퓨터)에서의 변수는 위치를 기억하는 저장소
    --> 위치는 메모리상의 주소를 의미, 즉 변수란 메무리 주소에 접근하기 위해 사람이 이해할 수 있는 언어로 지정한 식별자

변수 예시

   var a; //변수의 선언
   a = 10; //변수에 값을 할당
   alert(a);
  • string1 이라는 이름의 변수를 선언하고 문자열 '리터럴' hello js world를 변수의 값으로 할당하였다. (문자열 리터럴은 문자열 타입의 값)
  1. 데이터 타입 : 프로그래밍 언어에서 사용할 수 있는 값의 종류
  2. 변수
  3. 리터럴 : 값을 구성하는 최소 단위 (소스 코드 내부에 직접 만들어낸 값)
    3-1. 리터럴의 종류
    • 숫자 리터럴
    • 문자 리터럴
    • 불리언 리터럴
    • null 리터럴
    • undefined 리터럴
    • 객체 리터럴
    • 배열 리터럴
    • 정규표현식 리터럴
    • 함수 리터럴
  4. 값 : 프로그램에 의해 조작될 수 있는 대상
  5. 데이터 타입
    --> 원시 타입
    5-1. number(int)
  var num1 =  1234;
  var num2 = 1.23;

5-2. String

 var string1 = 'hello js world'

5-3. boolean : 참과 거짓을 구분하는 타입

var bool = true;

5-4. null

var nul = null;

5-5. undefined : null은 타입이라도 있지만 undefined는 타입도 없음

var und;

5-6. symbol

--> 객체 타입
5-1-1. object

세미 콜론

  • 사실 JS에서는 세미콜론의 생략이 가능
    --> 개행을 기준으로 세미콜론을 생략할 수 있다.
    --> 이것을 암시적으로 세미콜론을 부여했다고 인터프리터가 해석
  • 문제는 개행이 항상 세미콜론을 의미하지는 않는다.
  • 자바스크립트가 이것을 추정하지 못하면 바로 코드 에러로 나타나게 된다.
  • 식별자 : 변수, 함수의 이름을 작성할 때 사용하는 이름
    --> 영문자, 숫자, _, $

도대체 네이밍 어떻게 지어야 할까?

  • 식별자 지정방식
  1. PascalCase
  2. camelCase
  3. snake_case(underscore/underbar_case)
  • 좋은 네이밍 = 변수나 함수의 이름을 보고 뭘 하는 변수인지 함수인지 의미파악이 최대한 쉬운 경우

JS 타입 변환

  • JS는 타입에 매우 관대한 언어
  • JS의 변수는 타입이 정해져 있지 않으며 같은 변수에 다른 타입의 값을 다시 대입하는 것도 가능 (재선언, 재할당)
  • JS의 변수는 다른 타입의 값을 다시 대입하는 것도 가능하다.

JS 타입 변환의 종류

  • 묵시적 형변환 (타입변환)
    --> JS는 특정한 타입을 기대하는데 그 곳에 다른 타입의 리터럴 값이 오면 자동으로 타입을 전환
  • 명시적 형변환 (타입변환)
    --> 개발자(사용자)가 직접 타입을 바꾸는 방법
<script>
    var num = 20;
    num = "숫자이십"; //재할당
    console.log(num); // 결과 : 숫자이십
    var num = 30; //재선언
    console.log(num); // 결과 : 30

    var result1 = 100;
    var result2 = "와우";
    console.log(result1 + 50);// -> 묵시적 형변환
    // 숫자 리터럴 100 -> 문자 리터럴 "100"으로 변경
    "100"+"200";
    100+200;
    //아래의 코드들의 샐행결과 : NaN
    // NaN : 정의되지 않은 값, 혹은표현할 수 없는 값 이라는 의미
    // -> number 타입의 값을 0으로 나눌 때
    // -> 숫자로 바꿀 수 없는 피연산자로 산술연산을 시도할 때
    console.log("10"-"이백");
    console.log(10*"이백");

    //명시적 형변환
    // 개발자의 마음대로 타입을 변경
    // -> 치환했을 때 그 타입과 맞아야 한다.
    // 명시적 형변환을 하는 방법
    // 타입 확인하기 = thpeOf()
      var test = "문자"
      console.log(typeof test);
    // 1. number()
       console.log(typeof Number("10"));
    // 2. String()
       console.log(typeof String(10));
    // 3. Boolean()
        console.log(typeof Boolean(1));
        console.log(Boolean(1));
    // 4. Object()
    // 5. parseInt() //문자열을 숫자로 변환
    // 6. parseFloat() //문자열을 실수로 변환

    // 날짜를 받아와서 날짜를 문자 또는 숫자로 변환
    // Date() 객체
 </script>
profile
안녕

0개의 댓글