본문 바로가기
부트캠프교육중/JavaScript

[JS] 코드와 타입

by 뭉지야 2022. 12. 16.
728x90

console.log(): 개발자 도구 콘솔이나 터미널에 원하는 값을 출력할 수 있게 돕는 메서드

console.log('hello world'); // hello world



#기계어

- 컴퓨터가 이해할 수 있는 숫자로만 구성된 언어. 사람이 쉽게 이해할 수 없다.

- 일반적인 컴퓨터는 0과 1의 조합으로 모든 정보를 표현하고 이해한다. 이를 기계어라고 부른다.

그런데 자바스크립트는 그렇지 않다. 영어도 있고, 기호도 있고, 숫자도 있다.

이렇게 사람이 다룰수 있게 일정한 문법과 의미를 지닌 언어를 프로그래밍 언어라고 부른다.


#프로그래밍 언어

- 개발자가 프로그램을 작성하기 위한 언어. 기계어와 다르게 사람이 다룰 수 있는 수준의 문법과 의미를 지님
#자바스크립트(JavaScript)

- 브라우저, 서버, 모바일 개발이 가능한 멀티 패러다임 프로그래밍 언어
JavaScript 엔진: JavaScript 코드를 실행할 수 있는 프로그램입니다. 크롬에 내장된 v8이 대표적입니다.

#주석

- 메모다. JavaScript 엔진이 따로 해석하지 않는 코드

- // 다음에 작성하거나 /*  */사이에 작성하면 된다.

         
#값(value): 하나의 의미를 가지는 코드. JavaScript 엔진이 하나의 값으로 읽고 평가할 수 있어야 한다.
표현식(expression): 하나의 값으로 평가될수있는 코드
연산자(operator): 연산을 할수 있는 기호. 특정 연산을 수행할수 있는 코드



1. 타입은 값(value)의 종류이다
자바스크립트의 모든 값은 타입을 가지고 있다.


<number타입>

숫자를 자바스크립트에서 표현하기 위한 데이터타입
정수(integer), 실수(flotat), 음수 모두 표현가능

(NaN: 나온 값이 숫자가 아니라는 의미)

# typeof

-해당 값이 숫자타입인지 확인할수 있다
     typeof 100; // 'number'
-간단한 사칙연산이 가능하다. 산술연산자(arithmetic operator)

     console. log(1 + 2); 3
     console. log(1 - 2); -1
     console. log(1 * 2); 2
     console. log(1 / 2); // 0.5 
     console. log(9 % 2); // 1 (9를 2로 나눈 나머지 구하기)

# math 내장 객체
Math.floor(): 괄호 안의 숫자를 내림하여 반환합니다.
Math.ceil(): 올림
Math.round(): 반올림
Math.abs(): 절대값
Math.sqrt(): 루트값
Math.pow(): 첫번째 숫자를 밑, 두번째 숫자를 지수 (ex 거듭제곱)

 

     Math.abs(-100); // 100
    Math.sqrt(4); // 2
    Math.sqrt(2); // 1.4142135623730951
    Math.pow(2, 5); // 32

 

# 거듭제곱표현방법 

  1. side1 * side1
  2. Math.pow(side1, 2)
  3. side1 ** 2

<string 타입>

-문자열
-따옴표(’), 쌍따옴표(”),백틱(`)으로 감싸면 됩니다. 

 백틱으로 만든 문자열은 줄바꿈도 가능.

 일반적으로 작은따옴표 쓰면된다.

 맥북의 경우 백틱은 영어로 전환하고 물결(~)을 누르면 입력할 수 있습니다.
-한자나 이모지와 같은 특수문자도 문자열로 만들 수 있고, 숫자와 문자를 조합해서 문자열로 만들 수도 있습니다. 
- +로 문자열을 이어붙일수 있다.
다른 타입과 이어붙이려고 하면 모두 문자열로 변합니다. (다른 타입 간의 연산을 하지 않도록 조심하자.)

 "안녕하세요" + "!!"; // 안녕하세요!!



# length
-문자열의 길이확인

 console.log('메롱'.length); // 2


-숫자에는 길이가 없다. 그래서 123456.length하면 문법오류다.


#인덱스(index)
- 순서. 각 문자가 몇 번째에 위치하는지
0부터센다.(Zero-based numbering)

      let str = 'codestates';
     console.log(str[0]); // 'c'

 

#indexof( )

- 문자열 내에 특정문자나 문자가 몇번째 위치하는지 확인한다.
- 만약 찾는 문자가 2개 이상일 경우, 가장 앞에 있는 문자의 인덱스를 조회한다.
  포함되어 있지 않으면 -1을 반환한다.

#문자열 주요 메소드

toLowerCase( ) : 문자열을 소문자로 변경
toUpperCase( ): 대문자
concat( ): 이어붙이기
slice( ): 자르기

 

      'hello '.concat('world'); // 'hello world'
      'hello world'.slice(0, 5); // 'hello'

#includes( )

- 특정 문자나 문자가 포함되어 있는지 확인한다. (true/false)

<Boolean 타입>불리언

- 사실관계를 구분하기 위한 타입
- 값은 true, false

# falsy

- 불리언 타입은 아니지만, 자바스크립트에서 false로 여겨지는 값이 일부 있는데 이를 falsy값이라고 한다. 
반대로 true로 여겨지는 값은 truthy값이라고 한다.
-대표적인 falsy값
  false    0    -0    0n    ""    ''    ``    null     undefined   NaN

# 비교연산자(comparison operator)
===, !==  :두 연산의 값과 타입이 같으면 true, 다르면 false

=== 동치연산자!!!!!
==, != : 타입이 달라도 값이 같으면 true, 다르면 false  . 예외가 많아 사용권장하지않음.
(참고로 다른 프로그래밍 언어에서는 == , != 를 주로 사용하는데, JavaScript에서는 ===, !== 로 비교해야 합니다.)
>, <, >=, <= : 대소관계비교


#논리연산자(logical operator): 두 값 간의 논리관계를 확인
ㅣㅣ: or(논리합) 하나만 true여도 true
&& : and(논리곱) 모두 ture여야 true


! : 논리부정연산자.사실관계를 반대로 표현한다.
falsy, truthy의 반대값을 반환합니다.

!0 // true
!' ' // true
!1 // false
!'코드스테이츠' // false
728x90

'부트캠프교육중 > JavaScript' 카테고리의 다른 글

[JavaScript] 배열이란?  (0) 2022.12.30
[JS] 함수  (0) 2022.12.19
[JS] 반복문  (0) 2022.12.19
3-1(조건문)  (0) 2022.12.19
[JS] 변수  (0) 2022.12.16