Week3 - JavaScript (12)

김서하·2021년 5월 18일
0

Westudy

목록 보기
17/25
post-thumbnail

8강) 2.1절 불

  • true, false

  • 비교연산자
    : ===, !==, >, <, >=, <=

  • 논리부정 연산자 : !불

  • 단항 연산자 : 피연산자가 하나

  • 이항 연산자 : 피연산자가 두개

9강) 불 연산

  • 논리 합 연산자
    : ||(또는)
    형태 : 불 || 불 -> 적어도 하나만 true면 전체 값이 true
    true || true -> true
    true || false -> true
    false || true -> true
    false || false -> false

  • 논리 곱 연산자
    : &&(그리고)
    형태 : 불 && 불 -> 양쪽 모든 것이 true여야 전체 값이 true
    true && true -> true
    true && false -> false
    false && true -> false
    false && false -> false

α < x && x < β-> 닫힌 범위
x < α || β < x -> 열린 범위

ex) 12시부터 13시까지는 결제할 수 없다
-->
12 <= 현재_시 && 현재_시 <= 13 -> 결제x
현재_시 < 12 || 13 < 현재_시 -> 결제o

!(12 <= 현재_시 && 현재_시 <= 13)
-> 부등식은 반대로!
-> 논리곱 논리합 교체!
12 > 현재_시 || 현재_시 > 13
-> 현재_시 < 12 || 13 < 현재_시

10강) 2.1절 마무리

  • 자료형 검사 : typeof(자료)

    typeof('문자열') === 'string'
    : true

    typeof('문자열') === 'number'
    : false

    typeof(27) === 'number'
    : true

    typeof(true) --- 'boolean'
    : true

  • `템플릿 문자열: ${typeof('표현식')}`

    "템플릿 문자열: string"

  • ===연산자 !==연산자 : 값과 자료형이 같은지

    ==연산자 !=연산자 : 값이 같은지

11강) 2.2절 상수와 변수 기본

식별자를 상수/변수로 사용하겠다! -> 선언 또는 정의
`식별자 = '자료'` -> 할당한다!
처음으로 값을 할당하는 것 -> 초기화

  • 상수 : 자료에 이름을 붙이는 것
    const 식별자 = '자료'

    <오류>
    const pi = 3.14
    const a
    pi = 3.1415

    한번만 선언가능! 변경x

  • 변수
    let 식별자 = '자료'
    let 식별자
    식별자 = '자료'

상수와 변수의 사용범위
상수 -> 기본적
변수 -> 변경이 필요한 경우에만!

lvalue / rvalue

let a = 10

a -> left value -> lvalue -> 넣는 쪽
10 -> right value -> rvalue -> 꺼내는 쪽, 값

12강) 2.2절 마무리

변수에 적용할 수 있는 연산자

  • 복합 대입 연산자
    +=, -=, /=, *=, %=

  • 증감 연산자
    ++, --

  • undefined
    1. 상수와 변수로 선언하지 않은 식별자
    2. 값이 없는 변수

13강) 2.3절 자료형 변환

  • prompt() : 문자열 입력
    prompt("메시지", "디폴트 값")

  • confirm() : 입력

  • Number() : 숫자 자료형으로 변환
    숫자연산자(-, *, /) 사용해서도 변환가능!

  • String() : 문자 자료형으로 변환

  • Boolean() : 자료형으로 변환

문자열 -> 숫자
"123" -> 123
Number("안녕하세요") -> 숫자!

Not a Number -> NaN
-- typeof(NaN) -> "number"

숫자 -> 문자열 (OK)
123 -> "123"

불 -> 문자열
String(true) -> "true"
String(false) -> "false"

불 -> 숫자
Number(true) -> 1
Number(false) -> 0

다른 자료형 -> 불
5가지 경우 -> false
--0, NaN, " " , null, undefined
이외의 경우 -> true

14강) 2장 누적예제

// 프로그램(program = pro[미리] + gram[작성된 것])
// 입력: prompt() inch 단위 숫자
const input = Number(prompt('inch 단위의 숫자를 입력해주세요.'))
// 처리: 1inch -> 2.54cm
const output = input * 2.54
// 출력: cm 단위의 숫자
alert(**`**${input}inch = ${output}cm입니다.`)
// 입력: prompt() cm 단위 숫자
const rawInput = prompt('cm 단위의 숫자를 입력해주세요.')
// 처리: 1cm -> 0.393701inch
const cm = Number(rawInput)
const inch = cm * 0.393701
// 출력: inch 단위의 숫자
alert(**`${cm}cm는 ${inch}inch 입니다.`)
// 입력
const rawInput = prompt('원의 반지름을 입력해주세요.')
const r = Number(rawInput)
// 출력
let output = ' '
output += `원의 반지름: ${r}\n`
output += `원의 넓이: ${3.14 * r * r}\n`
output += `원의 둘레: ${2 * 3.14 * r}`
alert(output)
// 입력
const rawInput = prompt('달러 단위의 금액을 입력해주세요.')
const dollar = Number(rawInput)
// 출력
let output = ' '
output += `달러: ${dollar}\n`
output += `-> 원화: ${dollar * 1207}`
alert(output)
  • 오늘 아침 점심 저녁 식사의 칼로리로 입력을 3개 받고, 모두 더해서 출력하는 프로그램
  • "어떤 은하까지 빛의 속도로 여행하면 10년이 걸린다"라고 할 때, 그 거리 구하는 프로그램
    (빛의 속도 c는 299.792.458m/s. 이를 활용해 10년 365일 24시간 60분 60초 * c)
  • "어떤 돈이 있을 때, 그 돈으로 국밥을 몇 그릇 먹을 수 있는가?"를 구하는 프로그램
profile
개발자 지망생 서하입니당

0개의 댓글