표현식이란?

표현식 Expressions

  • 으로 평가 될 수 있는 문
1; // 숫자 리터럴 표현식
1+1; // 연산자 표현식
call(); // 함수 호출 표현식


let b // 선언문 : 선언한거 자체가 값으로 평가 될 수 없음 표현식❌
b = 2; //할당문, 할당 표현식인문 ⭕

리터럴(Literal)

  • 코드에서 값을 나타내는 표기법

문(Statement)

  • 최소로 실행 할 수 있는 단위
  • 항상 ;(세미클론)으로 끝나야함

연산자(Operators)

산술 연산자(arithmetic)

  • + 연산자 주의점 : 숫자와 문자열을 더하면 문자열로 변환됨
console.log(5 + 2);// +(더하기)
console.log(5 - 2);// -(빼기)
console.log(5 * 2);// *(곱하기)
console.log(5 / 2);// /(나누기)
console.log(5 % 2);// %(나머지 값)
console.log(5 ** 2); // es7 **(거듭제곱)
console.log(Math.pow(5, 2)); // (거듭제곱 다른 방법)

단항 연산자(unary)

  • + (양), - (음), ! (부정)
  • 서로 부정하고 싶을 때 자주 사용함
let a = 5;
a = -a; // -1* -5
a = +a; // +(-5)
console.log(a); // -5

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

console.log(!!1); // ! 한번 쓰면 부정연산자
// !! 두번 쓰면 값을 boolean 타입으로 변환함
  • + 숫자가 아닌 타입들을 숫자로 변환하면 어떤값이 나오는지 확인할 수 있음
console.log(+false); // 0
console.log(+null); // 0
console.log(+''); // 0
console.log(+true); // 1
console.log(+'text'); // NaN 문자열을 숫자로 변환할 수 없음
console.log(+undefined); // NaN

할당 연산자(assignment)

let a = 1;

a += 2; // a = a + 2; 축약버전
a -= 2; // a = a - 2; 
a *= 2; // a = a * 2; 
a /= 2; // a = a + 2; 
a %= 2; // a = a % 2; 
a **= 2; // a = a ** 2;

증감 연산자(Invrement & Decrement)

let a = 0;
a++; // a = a + 1;
a--; // a = a - 1;

// 주의사항!✨
// a++ 필요한 연산을 하고, 그 뒤 값을 증가시킴
// ++a 값을 먼저 증가하고, 필요한 연산을 함
a = 0;
console.log(a++); // 0을 출력하고 1이 증가
console.log(a); // 1
let b = a++;
console.log(b); // 1
console.log(a); // 2

비교 연산자(Relational)

  • 대소 관계 비교 연산자
    // > 크다
    // < 작다
    // >= 크거나 같다
    // <= 작거나 같다
console.log(2 > 3); // false
console.log(2 < 3); // true
console.log(3 < 2); // false
console.log(3 > 2); // true
console.log(3 <= 2); // false
console.log(3 <= 3); // true
console.log(3 >= 3); // true
console.log(3 >= 2); // true

연산자 우선순위

let a = 2;
let b = 3;
let result = ((a + b) * 4) / 5;
console.log(result); // 4
result = a++ + b * 4;
console.log(result); // 12

동등 비교 연산자(Equality)
// == 값이 같음
// != 값이 다름
// === 값과 타입이 둘다 같음
// !== 값과 타입이 다름

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

const obj1 = {
  name: 'js',
};
const obj2 = {
  name: 'js',
};

console.log(obj1 == obj2); // 서로 다른 메모리 주소를 가르키고 있어서 false
console.log(obj1.name == obj2.name); // true

0개의 댓글