true, false
비교연산자
: ===
, !==
, >
, <
, >=
, <=
논리부정 연산자 : !불
단항 연산자 : 피연산자가 하나
이항 연산자 : 피연산자가 두개
논리 합 연산자
: ||
(또는)
형태 : 불 || 불 -> 적어도 하나만 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 < 현재_시
자료형 검사 : typeof(자료)
typeof('문자열') === 'string'
: truetypeof('문자열') === 'number'
: falsetypeof(27) === 'number'
: truetypeof(true) --- 'boolean'
: true
`템플릿 문자열: ${typeof('표현식')}`
"템플릿 문자열: string"
===연산자 !==연산자 : 값과 자료형이 같은지
==연산자 !=연산자 : 값이 같은지
식별자를 상수/변수로 사용하겠다! -> 선언 또는 정의
`식별자 = '자료'` -> 할당한다!
처음으로 값을 할당하는 것 -> 초기화
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 -> 꺼내는 쪽, 값
변수에 적용할 수 있는 연산자
복합 대입 연산자
+=
, -=
, /=
, *=
, %=
증감 연산자
++
, --
undefined
1. 상수와 변수로 선언하지 않은 식별자
2. 값이 없는 변수
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
// 프로그램(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)- "어떤 돈이 있을 때, 그 돈으로 국밥을 몇 그릇 먹을 수 있는가?"를 구하는 프로그램