console.log("This is 'sewoo'")
> "This is 'sewoo'"
이스케이프 문자 (
\
)
\
+ 따옴표(") = 따옴표를 문자 그대로 사용 가능\n
: 줄바꿈\t
: tab\\
: 역슬래시console.log("This is \"string\"") > "This is "string""
+
: 문자열 연결 연산자 console.log('가나다' + '라마' + '바사아')
> "가나다라마바사아"
``
)과 ${...}
기호 사용) console.log(`15 + 2의 값은 ${15 + 2}이다.`)
> "15 + 2의 값은 17이다."
[숫자]
console.log('안녕하세요'[3])
> "세"
숫자 표현
숫자 연산자
+
: 더하기 -
: 빼기*
: 곱하기/
: 나누기(몫) %
: 나머지 연산자연산자 우선순위 고려
console.log(5 + 3 * 2)
> 11
console.log((5 + 3) * 2)
> 16
참과 거짓 표현
boolean 자료형
true
: 참false
: 거짓!
: 논리 부정 연산자 (참 -> 거짓 / 거짓 -> 참)비교연산자
===
: 양쪽이 같다.!==
: 양쪽이 다르다.>
: 왼쪽이 더 크다.<
: 오른쪽이 더 크다.>=
: 왼쪽이 더 크거나 같다.<=
: 오른쪽이 더 크거나 같다. console.log(52 > 273)
> false
console.log(52 < 273)
> true
==
,!=
: 값이 같은지===
,!==
: 값과 자료형이 같은지
&&
: 논리곱 연산자(양쪽 모두 참일 때만 참) //그리고||
: 논리합 연산자(한 쪽만 참이어도 참) //또는typeof
연산자typeof(자료) or typeof 자료
typeof('문자열') > "string" //문자열을 의미 typeof 273 > "number" //숫자를 의미 typeof (10) === 'number' > true //문자열과 비교하여 자료형 확인 시 주로 사용
const 이름 = 값
let 이름 = 값
⚠️ var 이름 = 값
으로도 변수를 선언 할 수 있지만, 중복 선언의 위험성과 변수의 범위 문제로 let
으로 대체됨.
복합 대입 연산자 ( 기존 변수의 값에 값을 연산함)
+=
: a += 1 (뜻: a = a + 1).-=
: a -= 1 (뜻: a = a - 1).*=
: a *= 1 (뜻: a = a * 1)./=
: a /= 1 (뜻: a = a / 1).%=
: a %= 1 (뜻: a = a % 1).증감 연산자(기존 변수 값에 1을 연산함 -> 복합대입 간략하게 사용)
변수 ++
: a++ (a에 1 더함 / 후위)++ 변수
: ++a (a에 1 더함 / 전위)변수 --
: a-- (a에 1 뺌 / 후위)-- 변수
: --a (a에 1 뺌/ 전위)후위 : 문장 실행 후 값을 연산하라
<script> let num = 5 alert(num++)//출력: 5 alert(num++)//출력: 6 alert(num++)//출력: 7 </script>
전위 : 문장 실행 전 값을 연산하라
<script> let num = 5 alert(++num)//출력: 6 alert(++num)//출력: 7 alert(++num)//출력: 8 </script>
undefined
자료형 : 값이 없다는 것을 확인할 때 주로 사용 (선언 후 값을 할당 or 초기화하지 않았을 때.) prompt(메시지 문자열, 기본 입력 문자열)
)<script>
const input = prompt('경고창에 뜰 내용을 입력하시오.', '_default')
alert(input)
</script>
<input //prompt 함수 실행>
<alert 함수 실행 // input에 입력된 문자열의 내용 출력>
리턴: 함수를 실행한 후 값을 남김
confirm(메시지 문자열)
)true
or false
값 리턴함.<script>
const input = confirm('수락하시겠습니까?')
alert(input)
</script>
<확인 : true / 취소 : false // 선택에 따른 boolean 값 리턴>
🤔웹 페이지를 제작 시, confirm의 리턴값을 받아서 다음 동작을 지시할 때 활용할 수 있을 것 같다는,, 생각이,,,
Number(자료)
: 함수를 사용하여 숫자 자료형으로 변환NaN
: 숫자로 변환할 수 없는 문자열의 경우 Not a Number 출력String(자료)
: 함수를 사용하여 문자열 자료형으로 변환문자열 + ''
: 문자열 + 빈 문자열 연산으로도 문자열 자료형으로 변환 할 수 있음.Boolean(자료)
: 함수를 사용하여 불 자료형으로 변환!!
: 논리 부정 연산자를 2번 사용하여 불 자료형으로 변환할 수 있음 0 / NaN / '...'또는 '빈문자열'/ null / undefined
)은 false로 변환됨.🤔연습문제를 다시 풀어보는 중에 궁금증이 하나 생겼습니다. js는 자동 형변환이 되는 데 왜 형변환을 해줘야 할까?
<script>
const input = prompt('cm를 입력해주세요')
const cm = input //const cm = Number(input)으로 쓰는 게 정석
const inch = cm * 0.393701
alert(`${cm}cm는 ${inch}inch입니다.`)
</script>
그래서 gpt한테 물어봤습니다..(혹시 틀린 답이라면 알려주세요)
=> '자동 형변환이 되지만, 오류가 생길 수 있으니 초보자일수록 형변환하는 습관을 들여라,,,'