해말그미의 코딩공부

코드스테이츠 6일차 본문

Code states

코드스테이츠 6일차

해말그미 2023. 2. 20. 23:13

⊙후기

 

오늘은 자바스크립트를 들어간 날! 아직까지는 이론 부분에서 할만했으나 문제를 푸는 건 달랐다

후반으로 갈수록 많이 어려웠지만 검색과 페어분의 도움으로 해결할 수 있었다.

어떤 식으로 코딩문제를 풀어야 할지 감이 조금밖에 안 잡힌 상태였는데 의사코드를 연습하면 실력이 나아질 거라고 믿는다.


 

프로그래밍 언어

 

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

 

표현식 

 

값으로 평가될 수 있는 코드. 수학에서 사용되는 식과 비슷하다. '계산'을 수행하는 표현식들은 항상 결과값을 가진다.

 

타입이란?

 

타입은 값(value)의 종류이다. ex) string, number, boolean

정보를 전달하기 위해 값을 사용하고 자주 쓰는 값은 분류한다. 

각 타입은 고유한 속성과 메서드를 가진다.

Number 타입

 

숫자를 표현하기 위한 데이터 타입(정수, 실수를 포함)

type of 연산자로 해당 값이 숫자 타입인지 확인할 수 있다.

Math  내장 객체

 

Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체이다.

자바스크립트는 웹 페이지에서 수학적 작업을 손쉽게 할 수 있도록 다양한 Math 메소드를 제공하고 있다.

  1. Math.min() - Math.min() 메소드는 인수로 전달받은 값 중에서 가장 작은 수를 반환한다.
  2. Math.max() - Math.max() 메소드는 인수로 전달받은 값 중에서 가장 큰 수를 반환한다.
  3. Math.round() - Math.round() 메소드는 인수로 전달받은 값을 소수점 첫 번째 자리에서 반올림하여 그 결괏값을 반환한다.
  4. Math.floor() - 내림하여 반환.
  5. Math.ceil() - 올림하여 반환.
  6. Math.abs(): 괄호 안의 숫자의 절대값을 반환합니다.
  7. Math.sqrt(): 괄호 안의 숫자의 루트값을 반환합니다.
  8. Math.pow() : 괄호 안의 첫 번째 숫자를 밑, 두 번째 숫자를 지수인 숫자를 반환합니다

Math.round(10.49);  // 10
Math.round(10.5);   // 11
Math.round(-10.5);  // -10
Math.round(-10.51); // -11
Math.floor(10.95);  // 10
Math.floor(11.01);  // 11
Math.floor(-10.95); // -11
Math.floor(-11.01); // -12
Math.ceil(10.95);  // 11
Math.ceil(11.01);  // 12
Math.ceil(11);     // 11
Math.ceil(-10.95); // -10
Math.ceil(-11.01); // -11

String타입

 

자연어(인간의 언어)를 javascript에서 표현하기 위한 데이터 타입

'현재 시각은 '  +  hour + '시  ' + min + '분  ' + sec + '초 입니다.'와 같이 문자열 연산자 없이 백틱(``)을 써서 아래와 같이 가독성 있게 만들 수 있다.

function showTime(hour, min, sec) {
  return result = `현재 시각은 ${hour}시 ${min}분 ${sec}초 입니다.`
}

문자열 주요 메서드

 

- to UpperCase(); 문자열을 대문자로 변경한다.

- to LowerCase(); 문자열을 소문자로 변경한다.

- concat(); 문자열 연결 연산자 + 처럼 문자열 이어 붙일 수 있다.

'hello'.concat('world');  // 'hello world' 

- slice(); 문자열의 일부를 자를 수 있다.

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

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

- includes(); 문자열 내에 특정 문자가 포함되어 있는지 확인

 

Boolean 타입

 

사실 관계를 구분하기 위한 타입 true 혹은 false 중 하나이다.

falsy - 불리언 타입은 아니지만불리언 문맥에서 false로 평가되는 값이다.

거짓 같은 값은 불리언 문맥에서 false로 변환되므로, 아래의 모든 if블록은 실행되지 않는다.

if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (0n)
if (NaN)
if (" ")

⊙비교 연산자

 

비교 연산자는 피연산자 사이의 상대적인 크기를 판단하여, 참(true)과 거짓(false)을 반환합니다.

<엄격한 동치 연산자>

===  왼쪽 피연산자와 오른쪽 피연산자의 값이 같고, 같은 타입이면 참을 반환함.

!==  왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않거나, 타입이 다르면 참을 반환함.

ex) 123 !== '123';  // true

 

<느슨한 동치 연산자>

==  왼쪽 피연산자와 오른쪽 피연산자의 값이 같으면 참을 반환함.

!=  왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않으면 참을 반환함.

(느슨하게 동치 여부를 판단해서 현대 웹 개발에서는 사용을 권장하지 않는다.)

 

⊙논리 연산자

 

두 값 간의 논리 관계를 판단하여 참(true)과 거짓(false)을 반환합니다.

||  논리식 중에서 하나라도 참이면 참을 반환함. (OR 연산)

&&  논리식이 모두 참이면 참을 반환함. (AND 연산)

!  논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (NOT 연산)

! true // false
! (100>200)  // true

-falsy, truthy의 반대 값을 반환한다.
!0 // true
!''  //true
!1  //false

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments