[혼곡JSπŸ“’] Chapter02. μžλ£Œμ™€ λ³€μˆ˜

CamelliaΒ·2022λ…„ 1μ›” 16일
5

μ΄μ œλΆ€ν„°λΌλ„ μ—΄μ‹¬νžˆ μžλ°”μŠ€ν¬λ¦½νŠΈ 곡뢀λ₯Ό ν•΄μ•Όκ² λ‹€λŠ” 생각이 λ“œλŠ” 사진이닀. 빠빠샀!

02-1. κΈ°λ³Έ μžλ£Œν˜•

  • 자료(data) : ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν”„λ‘œκ·Έλž¨μ΄ μ²˜λ¦¬ν•  수 μžˆλŠ” λͺ¨λ“  것
  • μžλ£Œν˜•(data type) : 자료 ν˜•νƒœμ— 따라 λ‚˜λˆ  놓은 것

1. λ¬Έμžμ—΄ μžλ£Œν˜•

# μž‘μ€ λ”°μ˜΄ν‘œ μ‚¬μš©
> 'μ•ˆλ…•ν•˜μ„Έμš”'
"μ•ˆλ…•ν•˜μ„Έμš”"
# 큰 λ”°μ˜΄ν‘œ μ‚¬μš©
> "μ•ˆλ…•ν•˜μ„Έμš”"
"μ•ˆλ…•ν•˜μ„Έμš”"
# μ΄μŠ€μΌ€μ΄ν”„ 문자(\)μ‚¬μš©
> "This is \"string\""
"This is "string""

> 'This is \'string\''
'This is 'string'"
# \n : μ€„λ°”κΏˆ 의미
> '동해물과 백두산이\n마λ₯΄κ³  닳도둝'
"동해물과 백두산이
마λ₯΄κ³  닳도둝"
# \t : νƒ­ 의미
> '이름\tλ‚˜μ΄\t지역'
"이름	λ‚˜μ΄	지역"
# \\ : μ—­μŠ¬λž˜μ‹œ(\) κ·Έ 자체 의미
> " \ "
" " -> μ—­μŠ¬λž˜μ‹œλ₯Ό μΈμ‹ν•˜μ§€ μ•Šμ•„ 빈 λ¬Έμžμ—΄ 좜λ ₯

> "\" 
였λ₯˜ -> \"λ₯Ό μ΄μŠ€μΌ€μ΄ν”„ 문자둜 인식해 λ¬Έμžμ—΄μ΄ λ‹«νžˆμ§€ μ•Šμ•˜λ‹€κ³  였λ₯˜ 좜λ ₯

> "\\ \\ \\ \\"
"\ \ \ \"
# λ¬Έμžμ—΄ 사이 λ§μ…ˆ 기호(+) : λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μž
> 'κ°€λ‚˜λ‹€' + '라마' + '바사아' + 'μžμ°¨μΉ΄νƒ€' + 'νŒŒν•˜'
"κ°€λ‚˜λ‹€λΌλ§ˆλ°”μ‚¬μ•„μžμ°¨μΉ΄νƒ€νŒŒν•˜"
# λ¬Έμžμ—΄[숫자] : 문자 선택 μ—°μ‚°μž
> 'μ•ˆλ…•ν•˜μ„Έμš”'[0]
"μ•ˆ"

> 'μ•ˆλ…•ν•˜μ„Έμš”'[1]
"λ…•"

> 'μ•ˆλ…•ν•˜μ„Έμš”'[2]
"ν•˜"
# .length : λ¬Έμžμ—΄ 길이 
> "μ•ˆλ…•ν•˜μ„Έμš”".length
5

> "μžλ°”μŠ€ν¬λ¦½νŠΈ".length
6

> "".length
0 -> 빈 λ¬Έμžμ—΄λ‘œ λ¬Έμžμ—΄

2. 숫자 μžλ£Œν˜•


μ—°μ‚°μžμ„€λͺ…
+λ”ν•˜κΈ° μ—°μ‚°μž
-λΉΌκΈ° μ—°μ‚°μž
*κ³±ν•˜κΈ° μ—°μ‚°μž
/λ‚˜λˆ„κΈ° μ—°μ‚°μž

# μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μ†Œμˆ˜μ μ΄ μžˆλŠ” μˆ«μžμ™€ μ—†λŠ” 숫자λ₯Ό λͺ¨λ‘ 같은 μžλ£Œν˜•μœΌλ‘œ 인식
> 273
273

> 52.273
52.273
# μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 숫자 μžλ£Œν˜•μ„ μ—°μ‚°ν•  λ•Œ "μ—°μ‚°μž μš°μ„ μˆœμœ„" κ³ λ €
> 5 + 3 * 2
11 -> κ³±μ…ˆ λ¨Όμ € κ²Œμ‚° ν›„ λ§μ…ˆ 계산

> (5 + 3) * 2
16 -> λ§μ…ˆ λ¨Όμ € 계산 ν›„ κ³±μ…ˆ 계산
# λ‚˜λ¨Έμ§€ μ—°μ‚°μž : μ’Œλ³€μ„ μš°λ³€μœΌλ‘œ λ‚˜λˆˆ λ‚˜λ¨Έμ§€ 좜λ ₯
> 10 % 2
0

> 10 % 3
1

> 10 % 4
2

3. 뢈 μžλ£Œν˜•

-뢈 μžλ£Œν˜•μ€ true와 false 2가지이닀.

μ—°μ‚°μžμ„€λͺ…
===μ–‘μͺ½μ΄ κ°™λ‹€
!==μ–‘μͺ½μ΄ λ‹€λ₯΄λ‹€
>μ™Όμͺ½μ΄ 더 크닀
<였λ₯Έμͺ½μ΄ 더 크닀
>=μ™Όμͺ½μ΄ 더 ν¬κ±°λ‚˜ κ°™λ‹€
<=였λ₯Έμͺ½μ΄ 더 ν¬κ±°λ‚˜ κ°™λ‹€

> 52 > 273
false

> 52 < 273
true

> 'κ°€λ°©' > 'ν•˜λ§ˆ'
false -> λ¬Έμžμ—΄ μžλ£Œν˜•μ€ μ‚¬μ „μ˜ μ•žμͺ½μ— μžˆμ„μˆ˜λ‘ 값이 μž‘λ‹€.
# ! : 논리 λΆ€μ • μ—°μ‚°μž, 참을 κ±°μ§“μœΌλ‘œ, 거짓을 참으둜
> !true
false

> !false
true

μ—°μ‚°μžμ„€λͺ…
&&논리곱 μ—°μ‚°μž : μ–‘μͺ½ λ³€μ˜ 값이 λͺ¨λ‘ true일 λ•Œ trueλ₯Ό 결과둜 좜λ ₯
II논리합 μ—°μ‚°μž : μ–‘μͺ½ λ³€μ˜ κ°’ 쀑 ν•˜λ‚˜λ§Œ true여도 trueλ₯Ό 결과둜 좜λ ₯

# && : 두 변이 λͺ¨λ‘ true일 λ•Œ true
> true && true
true

> true && false
false

> false && true
false

>false && false
false
# || : 두 λ³€ 쀑 ν•˜λ‚˜λΌλ„ true이면 true
> true || true
true

> true || false
true

> false || true
true

>false || false
false

4. μžλ£Œν˜• 검사

-typeof μ—°μ‚°μž : 숫자, λ¬Έμžμ—΄, 뢈 같은 μžλ£Œν˜• 확인할 λ•Œ μ‚¬μš©

typeof(자료)

> typeof('λ¬Έμžμ—΄')
"string" -> λ¬Έμžμ—΄ 의미

> typeof(273)
"number" -> 숫자 의미

> typeof(true)
"boolean"

# typeof μ—°μ‚°μž 뒀에 κ΄„ν˜Έ 없어도 상관 μ—†μŒ
> typeof 'λ¬Έμžμ—΄'
"string"

# λ¬Έμžμ—΄κ³Ό λΉ„κ΅ν•΄μ„œ μžλ£Œν˜• 확인
> typeof 10 === 'number'
True

πŸ‘ μ’€ 더 μ•Œμ•„λ³΄κΈ°

λ°±ν‹± 기호둜 감싸고 λ¬Έμžμ—΄ 내뢀에 ${...}기호λ₯Ό μ‚¬μš©ν•˜μ—¬ μ½”λ“œ κ°„λ‹¨ν•˜κ²Œ μž‘μ„±

> console.log(`ν‘œν˜„μ‹ 273 + 52의 값은 ${273 + 52}μž…λ‹ˆλ‹€...!`)
ν‘œν˜„μ‹ 273 + 52의 값은 325μž…λ‹ˆλ‹€...!

=== μ—°μ‚°μžμ™€ !== μ—°μ‚°μžλŠ” κ°’κ³Ό μžλ£Œν˜•μ΄ 같은지λ₯Ό λΉ„λ£Œν•˜λŠ” μ—°μ‚°μž
= μ—°μ‚°μžμ™€ !=μ—°μ‚°μžλŠ” 값이 같은지λ₯Ό λΉ„κ΅ν•˜λŠ” μ—°μ‚°μž

> 1 == '1'
true

> fale == "0"
true

> "" == []
true

> 0 == []

πŸ‘ 02-1 마무리


1. λ‹€μŒ μ—°μ‚°μžλ“€μ˜ ν”Όμ—°μ‚°μžκ°€ μ–΄λ–€ μžλ£Œν˜•μΈκ°€?
μ—°μ‚°μžν”Όμ—°μ‚°μž μžλ£Œν˜•
+(λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μž)λ¬Έμžμ—΄
+(λ§μ…ˆ μ—°μ‚°μž)숫자
&&뢈
-숫자
*숫자
II뢈

2. λ‹€μŒ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ κ²°κ³Ό 예츑
<script>
      	console.log("# μ—°μŠ΅λ¬Έμ œ");
        console.log("\\\\\\\\");
</script>

λ‹΅
# μ—°μŠ΅λ¬Έμ œ, \\\\


3. λ‹€μŒ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ κ²°κ³Όλ₯Ό 예츑
<script>
  	console.log("μ•ˆλ…•ν•˜μ„Έμš”"[1]);
  	console.log("μ•ˆλ…•ν•˜μ„Έμš”"[2]);
	console.log("μ•ˆλ…•ν•˜μ„Έμš”"[2]);
	console.log("μ•ˆλ…•ν•˜μ„Έμš”"[2]);
</script>

λ‹΅
λ…•ν•˜μ„Έμš”


4. λ‹€μŒ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ κ²°κ³Όλ₯Ό 예츑
<script>
  	console.log(2 + 2 - 2 * 2 / 2 * 2);
  	console.log(2 - 2 + 2 / 2 * 2 + 2);
</script>

λ‹΅
0, 4


02-2. μƒμˆ˜μ™€ λ³€μˆ˜

  • μƒμˆ˜ : 항상 같은 수 λΌλŠ” 의미둜 값에 이름을 ν•œ 번 뢙이면 값을 μˆ˜μ •ν•  수 μ—†λ‹€.
  • λ³€μˆ˜ : λ³€ν•  수 μžˆλŠ” 수 둜 값을 μˆ˜μ •ν•  수 μžˆλ‹€.

1. μƒμˆ˜
μ„ μ–Έ : μƒμˆ˜λ₯Ό λ§Œλ“œλŠ” κ³Όμ •
μƒμˆ˜ μ„ μ–Έ 방법 : const 이름 = κ°’

> const pi = 3.141592 -> piλΌλŠ” μ΄λ¦„μ˜ μƒμˆ˜ μ„ μ–Έ ν›„ 3.141592λΌλŠ” κ°’ ν• λ‹Ή
undefined

> pi -> μ•žμ„œ μ„ μ–Έν•œ μƒμˆ˜ 이름을 μž…λ ₯ν•˜λ©΄ ν•΄λ‹Ή κ°’ μ‚¬μš© κ°€λŠ₯
3.141592

2. λ³€μˆ˜
λ³€μˆ˜ μ„ μ–Έ 방법 : let 이름 = κ°’

> let pi = 3.141592 -> piλΌλŠ” μ΄λ¦„μ˜ λ³€μˆ˜ μ„ μ–Έ ν›„ 3.141592λΌλŠ” κ°’ 지정
undefined

> pi -> λ³€μˆ˜ 이름을 μž…λ ₯ν•˜λ©΄ ν•΄λ‹Ή κ°’ μ‚¬μš© κ°€λŠ₯
3.141592

3. λ³€μˆ˜μ— μ μš©ν•  수 μžˆλŠ” μ—°μ‚°μž

-볡합 λŒ€μž… μ—°μ‚°μž

볡합 λŒ€μž… μ—°μ‚°μžμ„€λͺ…μ‚¬μš© 예
+=κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 κ°’ 더함a += 1
-=κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 값을 뺌a -= 1
*=κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 κ°’ κ³±ν•©a *= 1
/=κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 κ°’ λ‚˜λˆ”a /= 1
%=κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 λ‚˜λ¨Έμ§€λ₯Ό ꡬ함a %= 1
> let value = 10 -> valueλΌλŠ” λ³€μˆ˜λ₯Ό 10으둜 μ„ μ–Έ
undefined

> value += 10 -> value에 10 더함
20

> value -> vlaue의 값은 10 + 10 = 20이 됨
20

-증감 μ—°μ‚°μž
증감 μ—°μ‚°μžμ„€λͺ…
λ³€μˆ˜++κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 1더함(ν›„μœ„)
++λ³€μˆ˜κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 1더함(μ „μœ„)
λ³€μˆ˜--κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 1뺌(ν›„μœ„)
--λ³€μˆ˜κΈ°μ‘΄ λ³€μˆ˜μ˜ 값에 1뺌(μ „μœ„)
> let number = 10
> number++
> alert(number)
11
> let number = 10
> alert(number++)
> alert(number++)
> alert(number++)
10
11
12

4. undefined μžλ£Œν˜•

-μƒμˆ˜μ™€ λ³€μˆ˜λ‘œ μ„ μ–Έν•˜μ§€ μ•Šμ€ μ‹λ³„μžμ˜ μžλ£Œν˜•μ„ ν™•μΈν•˜λ©΄ undefinedκ°€ λ‚˜μ˜¨λ‹€.

πŸ‘ 02-2 마무리


1. μƒμˆ˜ μ„ μ–Έ μ‹œ μ‚¬μš©ν•˜λŠ” ν‚€μ›Œλ“œλŠ”?

const


2. 값을 ν• λ‹Ήν•  λ•Œ μ‚¬μš©ν•˜λŠ” μ—°μ‚°μžλŠ”?

=


3. 였λ₯˜ λ°œμƒν•˜λŠ” 것 μ°Ύκ³  μ–΄λ–€ 였λ₯˜κ°€ λ°œμƒν•˜λŠ”μ§€ μ μœΌμ‹œμ˜€
<script>
  const r
  r = 10

  console.log(`넓이 = ${3.14 * r * r}`)
  console.log(`λ‘˜λ ˆ = ${2 * 3.14 * r}`)
</script>

λ‹΅
μƒμˆ˜λŠ” μ„ μ–Έκ³Ό λ™μ‹œμ— ν• λ‹Ήν•˜μ—¬μ•Ό ν•˜λŠ”λ° κ·ΈλŸ¬μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— 였λ₯˜ λ°œμƒ


4. λ‹€μŒ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ κ²°κ³Ό 예츑
<script>
  const number = 10

  console.log(++number)
  console.log(number++)
  console.log(+number)
  console.log(number--)
</script>

λ‹΅
였λ₯˜ : 증감 μ—°μ‚°μžλŠ” μƒμˆ˜μ— μ‚¬μš©ν•  수 μ—†λ‹€.


02-3. μžλ£Œν˜• λ°˜ν™˜

1. λ¬Έμžμ—΄ μž…λ ₯
-λ¬Έμžμ—΄ μžλ£Œν˜•μ„ μž…λ ₯ν•  λ•Œ μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜ : prompt()
-μ‚¬μš©λ°©λ²•
prompt(λ©”μ‹œμ§€ λ¬Έμžμ—΄, κΈ°λ³Έ μž…λ ₯ λ¬Έμžμ—΄)


2. 뢈 μž…λ ₯
-λ¬Έμžμ—΄ 외에 뢈 μžλ£Œν˜•λ„ κ°’μœΌλ‘œ μž…λ ₯받을 수 μžˆλ‹€.
-confirm()ν•¨μˆ˜ μ‚¬μš©
-μ‚¬μš©λ°©λ²•
confirm(λ©”μ‹œμ§€ λ¬Έμžμ—΄)


3. 숫자 μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜ν•˜κΈ°
-λ‹€λ₯Έ μžλ£Œν˜•μ„ 숫자 μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜ν•  λ•Œ Number() ν•¨μˆ˜ μ‚¬μš©
-μ‚¬μš©λ°©λ²•
Number(자료)

> Number("273")
273

> typeof(Number("273"))
"number" -> μžλ£Œν˜•μ€ 숫자

4. 문자 μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜ν•˜κΈ°
-λ‹€λ₯Έ μžλ£Œν˜•μ„ λ¬Έμžμ—΄ μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜ν•  λ•Œ String() ν•¨μˆ˜ μ‚¬μš©
-μ‚¬μš©λ°©λ²•
String(자료)

> String(52.273) -> 숫자 μžλ£Œν˜•μ΄ λ¬Έμžμ—΄ μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜
"52.273"

> String(true) -> 뢈 μžλ£Œν˜•μ΄ λ¬Έμžμ—΄ μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜

5. 뢈 μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜ν•˜κΈ°
-λ‹€λ₯Έ μžλ£Œν˜•μ„ 뢈 μžλ£Œν˜•μœΌλ‘œ λ³€ν™˜ν•  λ•Œ Boolean() ν•¨μˆ˜ μ‚¬μš©
-μ‚¬μš©λ°©λ²•
Boolean(자료)
-0, NaN, '...', "..."(빈 λ¬Έμžμ—΄), null, undefined -> false둜 λ³€ν™˜

> Boolean(0)
false

> Boolean(NaN)
false

>Boolean("")
false

> Boolean(null)
false

> let λ³€μˆ˜
undefined
profile
빠샀!

2개의 λŒ“κΈ€

comment-user-thumbnail
2022λ…„ 1μ›” 16일

빠빠샀!!

1개의 λ‹΅κΈ€