[TIL 08] 비교연산자와 데이터타입

_dodo_hee·2021년 2월 24일
0

JAVASCRIPT

목록 보기
2/17
post-thumbnail
post-custom-banner

자바스크립트 기초 다시 훑으니까 뭔가 확실하게 아는느낌이다.
하지만 누구한테 알아듣기 쉽게 설명하지 못한다면 그건 이해하지 못한거란 지인의 말 땜에
공부할때 더 열심히 이해하고 넘어가려고 한다ㅋㅋㅋ

비교연산자

비교연산자란 두 개의 연산자를 비교한 결과를 논리 값(true/false)으로 반환한다.

비교연산자는 주로 제어 구조에서 조건식을 만들때 사용한다.
비교연산자에는 ==(동일연산자)===(일치연산자)가 있다.
변수가 같은지를 판정하는 연산자지만, 의미가 다르다.

동일연산자

동일연산자 --는 좌변과 우변의 연산자가 같은지를 비교하며, 같으면 true 다르면 false를 나타낸다.

코드 예시✍️

console.log(1 == 1) //true
console.log(1 == "1") //true

동일연산자 ==는 좌변 우변이 문자인지 숫자인지 상관없이
동일연산자가 강제로 문자열을 숫자열로 인식하고 출력 값 또한 동일하기 때문에 true라고 표시된다.

일치연산자

일치연산자 === 는 좌변 우변이 정확하게 값이 같을 때 true! 틀릴 땐 false로 나타낸다.

코드 예시✍️

console.log(1 === 1) //true
console.log(1 === "1") //false

일치연산자 ===타입이 다른 연산자인 경우에 강제로 바꾸지 않고 다른 모습 그대로 평가를 하여 비교한다.
위에 코드는 데이터 타입이 다르기 때문에 false 로 나타난다.

이런식으로 동일연산자와 일치연산자의 차이가 있어서
실질적으로 코드를 작성할땐 일치연산자 사용을 더 많이 한다고 한다.

데이터 타입

데이터 타입은 프로그래밍 언어의 기본적인 구성 요소이고,
숫자나 문자열처럼 변수에 저장하는 데이터 종류를 뜻한다.

자바스크립트의 기본 데이터 타입의 분류를 살펴보자.

  • 기본 타입

    • 숫자
    • 문자열
    • 논리값
    • 특수한 값(undefined / null)

    🖐 앞으로 나올 말 중에 리터럴 이란, 프로그램에 작성할 수 있는 상수 값이다.

숫자

자바스크립트는 숫자를 모두 64비트 부동소수점으로 표현한다.

데이터 타입의 책으로 볼때와 검색할땐 엄청나게 어려운 말들이 많지만,
내가 실제로 코드를 작성할땐 자세한 것들은 안쓸 것 같아서 이해할땐
그냥 일반적인 정수,소수,숫자,를 사용한다고 넘어가면 된다.

👉 자세한 숫자리터럴 보러가기 > 모던 자바스크립트의 데이터타입

문자열

자바스크립트 문자열은 길이가 16비트인 유니코드 문자를 나열한 것으로 전 세계에서 사용하는 문자를 대부분 표현할 수 있다.

문자열 리터럴은 작은따옴표(')나, 큰따옴표(")를 문자열의 앞뒤에 붙여서 표현한다.
빈 문자열 표기법 "" : 아무것도 포함하지 않는 문자열
문자열안에 작은따옴표가 들어있을땐 큰따옴표로 묶어서 표현해줄 수 있다.

논리값

논리값은 조건식이 참인지 거짓인지 표현하기 위해 사용하는 값.

true는 참, false는 거짓

특수한 값

값이 없음을 표현하기 위해 특수한 값에는 null과 undefined가 있다.

undefined정의되지 않은 상태를 뜻한다. 쉬운말로 값을 받지 못했을때 나오는 결과라고 이해하자.

  • undefined가 나오는 경우

    • 값을 아직 할당하지 않은 변수의 값
    • 없는 객체의 프로퍼티나, 배열의 요소를 읽으려고 시도했을 때의 값
    • 아무것도 반환하지 않는 함수가 반환하는 값
    • 함수를 호출했을 때 전달받지 못한 인수의 값

    null은 아무것도 없음을 나타내는 리터럴이다.
    프로그램안에서 검색했지만 찾지 못했을때 아무것도 없음을 전달하기 위한 값으로 사용된다.


    와, 불과 1월의 나만 봐도 이거 이해 하나도 못했는데..신기하다....

profile
무럭무럭 자라나는 도도 개발성장일기
post-custom-banner

0개의 댓글