모던자바스크립트 6,7장 데이터 타입, 연산자

연호·2022년 12월 14일
0

모던자바스크립트

목록 보기
2/28

데이터 타입

  1. 데이터 타입은 값의 종류. 7개의 원시 타입과 객체 타입으로 나뉜다.

  2. 숫자타입은 모든 수를 실수로 처리.

var int = 10;       // 정수
var double = 10.12; // 실수
var negative = -20; // 음의 정수 
					// 모두 실수이다.
  1. 문자열 타입은 텍스트 데이터를 나타내는데 사용.
    3-1 `(백틱)을 활용한 템플릿 리터럴은 줄바꿈과 모든 공백이 그대로 적용.
var stirng = '문자열';       // 작은따옴표
var stirng = "문자열"; 	    // 큰따옴표
var stirng = `문자열`; 	    // 백틱

var hello = "hello";
var world = "world"; 

console.log(hello + world) ;  // 문자열은 문자열 연산자 + 사용 가능.
console.log(${hello}${world});// 표현식 삽입 방법.					
  1. 불리언 타입은 true 와 false 뿐이다.

  2. undefined는 변수를 초기화 하기 위한 값. 선언한 변수는 암묵적으로 undefined로 초기화 되어 있다.

  3. null 타입은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용.

  4. 심벌타입은 변경 불가능한 원시 타입의 값.외부에 노출되지 않고 중복되지 않는다.

  5. 원시타입 이외의 값은 모두 객체 타입.

  6. 데이터 타입은 값을 저장할 때, 참조 할 때 메모리 공간의 크기를 결정하기 위하여, 메모리에서 읽은 2진수를 해석하기 위하여 필요하다.

  7. 자바스크립트는 변수의 선언이 아닌 할당에 의해 타입이 결정된다. 또한 재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있기에, 동적타입 언어라 한다.

11.변수는 꼭 필요한 경우에만 사용한다. 스코프는 최대한 좁게. 전역 변수는 최대한 자제. 변수보다는 상수. 네이밍에 유의할 것.

연산자

연산자란? 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입 등을 수행해 하나의 값을 만듬.

  1. 이항 산술 연산자

    이항 산술 연산자의미
    +덧셈
    -뺄셈
    *곱셈
    /나눗셈
    %나머자
  2. 단항 산술 연산자

    단항 산술 연산자의미
    ++증가
    --감소
    +어떠한 효과 X. 음수를 양수로 전환X
    -양수를 음수로, 음수를 양수로 전환
var x = 5, result;

// 선 할당 후 증가
result= x++;
console.log(result, x); // 5 6

// 선 증가 후 할당
result= ++x;
console.log(result, x); // 7 7
  1. +연산자는 피연산자 중 하나 이상이 문자열일 경우 문자열 연결 연산자로 동작한다.
// 문자열 연결 연산자
'1' + 2; // '12'
 1 + '2'; // '12'
  1. 할당 연산자는 좌변의 변수에 값을 할당하므로 변수 값이 변하는 부수효과가 있다.

    할당 연산자동일 표현
    =x = 5x = 5
    +=x += 5x = x + 5
    -=x -= 5x = x - 5
    *=x *= 5x = x * 5
    /=x /= 5x = x / 5
    %=x %= 5x = x % 5
  2. 비교 연산자는 좌항과 우항의 피연산자를 비교한 후 불리언 값으로 반환.

    비교 연산자의미
    ==x와 y의 값이 같음
    ===x와 y의 값과 타입이 같음
    !=x와 y의 값이 다름
    !==x와 y의 값과 타입이 다름
//NaN은 자기 자신과 일치하지 않는 유일한 값이다.
NaN === NaN; // false

//자바스크립트에는 +0과 -0이 다른 값이나 이들을 비교시 true 반환.
0 === -0; // true

부동등 비교 연산자(!=)는 비교 연산자와 반대 개념.

  1. 대소 관계 비교 연산자는 피연산자의 크기를 비교하여 불리언 값으로 반환.
    대소 관계 비교 연산자
    >x > y
    <x < y
    >=x >= y
    <=x <= y
  2. 삼항 조건 연산자는 첫 번째 피연산자가 true로 평가되면 두 번째 피연산자를, false 이면 세번 째 피연산자를 반환한다. 삼항 조건 연산자는 값처럼 쓸 수 있지만 if ...else 문은 값처럼 사용 불가능.
var x = 2;
var result = x % 2 ? '홀수' : '짝수'; // 짝수
  1. 논리 연사자는 우항과 좌항의 피연산자를 논리 연산한다.

  2. 쉼표 연산자는 왼쪽 피연산자부터 차례대로 피연산자를 평가하고, 마지막 피연산자의 평가 결과를 반환한다.
var x, y, z;
x = 1, y = 2, z =3; // 3
  1. typeof 연산자는 피연산자의 데이터 타입을 문자열로 반환. 함수는 "function"을 "null"은 "object'를 반환 하니 유의

  2. 지수 연산자는 좌항을 밑으로 우항을 지수로 거듭 제곱한 숫자를 반환한다.

2 ** 2; // 4
2** -2; // 0.25
  1. 연산자의 우선순위는 여러 개의 연산자로 이루어진 문에서 실행되는 순서.

    우선순위연산자
    1( )
    2new(매개변수 존재), [ ](프로퍼티 접근), ( )(함수 호출), ?.(옵셔널 체이닝 연산자)
    3new(매개변수 미존재)
    4x++, x--
    5!x, +x, -x, ++x, --x, typeof, delete
    6**(이항 연산자 중에서 우선순위가 가장 높다)
    7* , / , %
    8+ , -
    9< , <= , > , >=, in, instanceof
    10== , != , === , !==
    11??(null 병합 연산자)
    12&&
    13or
    14?... : ...
    15할당 연산자(= , += , =+ , ...)
    16,
  2. 대부분의 연산자는 다른 코드에 영향을 주지 않으나, 할당 연산자 (=), 증가 감소(++/--), delete 연산자는 코드에 직접 영향을 준다.

profile
뉴비

0개의 댓글