이 글은 자바스크립트를 저 나름대로 공부하고 작성하는 글로
잘못된 내용이 존재할 수 있습니다. 잘못된 내용을 발견하면 언제든 지적 부탁드립니다.
무언가를 공부할 때 용어를 정확히 이해 하고 있는 것이 좋다.
용어를 정확히 이해 하고 있어야 다른 이와 함께 일이 하거나 할때 상호 오해의 소지가 없고,
또한 어떤 의미인지 스스로 정확히 인지하여 조금 더 깊은 이해를 할 수 있다.
값(value)
값이란 리터럴, 표현식등이 평가되어 생성된 결과이다.
리터럴(literal)
리터럴이란 문자또는 기호로 사용해 값을 생성하는 것으로 숫자 1, 2, 3 문자 'Hello World'등 이 자체로 값을 나타낸다.
문(statement)
문이란 프로그램을 구성하는 기본단위이자 최소 실행단위이다.
표현식(expression)
표현식이란 값으로 평가될 수 있는 문으로, 표현식이 평가되어 새로운 값을 생성하거나 기존 값을 참조한다.
100 // 리터럴 또한 값으로 평가되므로 표현식!
let variable = 50 + 50; // 50 + 50 => 100 으로 평가됨 표현식!
variable // 100으로 평가됨 표현식!
// 이 외에도 많은 표현식이 존재한다.
연산자 (operator)
연산자란? 피연산자(연산의 대상)을 특정한 연산을 통해 새로운 값으로 만들어 내는 것이다.
산술, 할당, 비교 논리, 타입, 지수 연산등이 존재 한다.
자바스크립트에서는 C 계열 언어들이 지원하는 기본연산들을 모두 지원하는데 (c/c++ java...등) 차이가 존재하는 것은
비교 연산자와 지수 연산자 그리고 산술 연산자에서 나눗셈이다.
자바스크립트에서 나눗셈 연산자는 기본적으로 숫자타입이 모두 실수이므로 정수형을 나눴을 때 몫을 나타내는 다른 정적타입 언어와 달리
실수값을 뱉어낸다. ex) 3 / 2 -> 1.5
지수 연산자는 파이썬에는 존재하나 일반적인 정적타입 언어에서는 연산자 자체로는 제공하지 않는 것인데 ** 형태로 사용된다.
console.log(5**3) // 5^3 = 125
비교 연산자
자바스크립트에는 다른 언어들의 달리 비교 연산자 === 와 !== 가 존재한다.
기본적으로 == (동등 비교 연산자) 와 != (부동등 비교 연산자)는 피연산자 좌항 우항을 비교 할때 암묵적인 타입 변환을 진행한 후
일치 여부를 비교하게 되는데 따라서 타입이 달라도 값이 같을 경우 == 는 true 을 반환하고 != 는 값이 다를 경우 true를 반환한다.
=== (일치 비교), !== (불일치 비교) 라고 하며, 이는 값과 타입 모두 비교의 대상으로 하는 연산자이다.
5 == '5' // true
5 === '5' // false
'JavaScript > DeepDive' 카테고리의 다른 글
[JavaScript] 타입변환과 단축평가 (0) | 2022.07.14 |
---|---|
[JavaScript] 원시타입과 객체타입의 차이 (0) | 2022.07.13 |
[JavaScript] 제어문 (0) | 2022.07.07 |
[JavaScript] 데이터 타입 (0) | 2022.07.07 |
[JavaScript] 변수 (0) | 2022.07.07 |