Bibi's DevLog ๐Ÿค“๐ŸŽ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ๋ณ€์ˆ˜, ์—ฐ์‚ฐ์ž ๋ฐ ๊ธฐํƒ€ ๋ณธ๋ฌธ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Javascript ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ๋ณ€์ˆ˜, ์—ฐ์‚ฐ์ž ๋ฐ ๊ธฐํƒ€

๋น„๋น„ bibi 2020. 10. 2. 17:46
* ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ˜ธ๋ˆ…์Šค๋‹˜์˜ ์œ ๋ฃŒ ๊ฐ•์˜ '์‰ฝ๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐฐ์›Œ๋ณด๋Š” Javascript ์ž…๋ฌธ - ์ฝ”๋“œ์Šค์ฟผ๋“œ ๋งˆ์Šคํ„ฐ์ฆˆ ์ฝ”์Šค ๋ ˆ๋ฒจ1'๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋‚ด์šฉ์— ๋”ํ•ด, ์ œ๊ฐ€ ํ•„๊ธฐํ•˜๊ณ  ๊ตฌ๊ธ€๋งํ•œ ๋‚ด์šฉ์ด ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ณด์ธ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์ •๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ€์ •ํ™•ํ•œ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ๊ฐ์•ˆํ•ด ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ธํ”„๋Ÿฐ ์ธก ๋‹ต๋ณ€์„ ๋ฐ›์€ ์ ์ด ์žˆ์œผ๋‚˜(https://bibi6666667.tistory.com/37), ์ €์ž‘๊ถŒ์ƒ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๋ณดํ˜ธ ๋ชจ๋“œ(๋น„๊ณต๊ฐœ)๋กœ ์ „ํ™˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

<๋ณ€์ˆ˜>

 

๋ณ€์ˆ˜๋ž€?

๋ณ€์ˆ˜ = ๋ฐ์ดํ„ฐ(๊ฐ’)๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฆ‡. ** ์ค‘์š”! **
๋ฐ์ดํ„ฐ๋“ค์€ ์ปดํ“จํ„ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ์–ด๋”˜๊ฐ€์— ์ €์žฅ๋˜๋Š”๋ฐ, ๊ทธ ๊ฐ’๋“ค์„ ๊ตฌ๋ณ„์ง“๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ณ€์ˆ˜๋ฅผ ์”๋‹ˆ๋‹ค.

 

๋ณ€์ˆ˜ ์„ ์–ธํ•˜๊ธฐ

๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์„ ์–ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

var a;

-> a๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” (= ๋งŒ๋“œ๋Š”) ๋ช…๋ น.


๋ณ€์ˆ˜์™€ ๋Œ€์ž… ์—ฐ์‚ฐ์ž assign

๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ๊ณ  ์‹ถ์„ ๋•Œ = (๋Œ€์ž…์—ฐ์‚ฐ์ž)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค! 

= : assign. ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์ž… ์—ฐ์‚ฐ์ž.

โ€ป =์€ ์ˆ˜ํ•™์—์„œ์˜ '๊ฐ™๋‹ค' ๋ผ๋Š” ๋œป์ด ์•„๋‹˜. ๊ฐ™๋‹ค๋Š” ===์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ณ€์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

var a = 7; 
var b = 10; 
var c = a + b; //17

 

์•„๋ž˜ ๋‚ด์šฉ์ด ์–ด๋ ต๋‹ค๋Š” ๋ถ„๋“ค์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋œป์ผ๊นŒ์š”?

b = b + 1;

(์œ„์˜ ์„ ์–ธ๋Œ€๋กœ) b๋Š” 10 ์ด์—ˆ๋Š”๋ฐ, b์—๋‹ค๊ฐ€ 1์„ ๋”ํ•ด์„œ ๋‹ค์‹œ b์— ๋„ฃ๋Š”๋‹ค.
๋”ฐ๋ผ์„œ ์ด ๋ช…๋ น ์ดํ›„์— b๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด 11์ด ๋œ๋‹ค.

 


๋ณ€์ˆ˜ ์ด๋ฆ„(๋ณ€์ˆ˜๋ช…) ์ž˜ ์ง“๊ธฐ

๋ณ€์ˆ˜์˜ ์ด๋ฆ„์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€์ˆ˜๋ช…์€ ์˜๋ฏธ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘, ์˜์–ด, ์ˆซ์ž,
_๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ‘œ๊ธฐ๋ฒ• : ์ฃผ๋กœ ์นด๋ฉœ ์ผ€์ด์Šค๋‚˜ ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉ.
๋ญ˜ ์‚ฌ์šฉํ•ด๋„ ์ข‹์ง€๋งŒ ํ†ต์ผํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์นด๋ฉœ ์ผ€์ด์Šค (๋‚™ํƒ€ ๋ชจ์–‘)

numPeople
๋‹จ์–ด์™€ ๋‹จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉ.

์Šค๋„ค์ดํฌ ์ผ€์ด์Šค (๋ฑ€ ๋ชจ์–‘)

num_people
๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์— ์–ธ๋”๋ฐ”(_)๋ฅผ ์‚ฌ์šฉ.

 

 

 


 

<์—ฐ์‚ฐ์ž ๋ฐ ๊ธฐํƒ€>

์ฆ๊ฐ ์—ฐ์‚ฐ์ž

C์–ธ์–ด์˜ ์ž”์žฌ์ธ๋ฐ ์กฐ๊ธˆ ์“ธ๋ฐ์—†์ด ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” a++; ์Šคํƒ€์ผ๋งŒ ์‚ฌ์šฉํ•ฉ์‹œ๋‹ค.
a++ ์€ a = a + 1; ๊ณผ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ a-- ๋Š” a = a - 1; ๊ณผ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค.

var a; 
a++; 
a = 0;
a++; 
a--;

โ€ป ๋ณ€์ˆ˜์— ๊ฐ’(์ˆซ์ž)๋ฅผ ๋„ฃ์–ด์ค€ ๋‹ค์Œ์— ๋ณ€์ˆ˜++;์„ ํ•ด์•ผ ์ ์šฉ๋œ๋‹ค!

var c;
c // undefined
c++; // NaN

c=5;
c++; // 6

 

๋น„๊ต ์—ฐ์‚ฐ์ž

๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๊ฐ’์€ Boolean์ž…๋‹ˆ๋‹ค. ๋น„๊ต ์—ฐ์‚ฐ์ž์—๋Š” >, <, >=, <=, ===, != ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

> ํฌ๋‹ค
< ์ž‘๋‹ค
>= ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
<= ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
=== ๊ฐ™๋‹ค(equal)
!= ๊ฐ™์ง€ ์•Š๋‹ค(not equal)

var a = 3; 
var b = 5;
var c = "5";
a > b; 
a < b;
b === c;

๋ฌธ์ž์—ด์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

var a = "hello";
a.length; 

. (์ )์—ฐ์‚ฐ์ž๋Š” ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž(.operator)
'~์˜'์ฒ˜๋Ÿผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.
๋˜๋Š” ๋™์‚ฌ์ฒ˜๋Ÿผ ํ•ด์„๋˜์–ด '~์•ผ ~ํ•ด'๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

a.length;
= ๋ฌธ์ž์—ดa์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•จ.
๋‚˜์ค‘์— ๋‹ค์‹œ ์„ค๋ช…ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. -> '๊ฐ์ฒด'๊ฐ•์˜์—์„œ!

๋ฌธ์ž์—ด ๊ฐ„๋‹จํžˆ ์กฐ์ž‘ํ•˜๊ธฐ;

var a = "KheLLo" 
a[0]; 
a[1] = "H"; //์•ˆ ๋จ 
a.slice(1,4); 
a.toUpperCase();
a.toLowerCase();

โ€ป ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” 1์ด ์•„๋‹Œ 0๋ถ€ํ„ฐ ์ˆซ์ž๋ฅผ ์„ผ๋‹ค! ์ฒซ๋ฒˆ์งธ = 0๋ฒˆ์งธ, ๋‘๋ฒˆ์งธ = 1๋ฒˆ์งธ...

a[0];
a๋ฌธ์ž์—ด์˜ 0๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๊ฐ€์ ธ์˜ด -> "K"
a[1]="H"; ์ฒ˜๋Ÿผ ์„ ์–ธ๋œ ๋ฌธ์ž์—ด์„ ๋ฐ”๊พธ๋Š” ๊ธฐ๋Šฅ์€ ์—†๋‹ค.

.slice(์‹œ์ž‘,๋);
๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ฅผ ๊ฐ€์ ธ์˜ด. ๋ฌธ์ž์—ด ๋งจ ์•ž ์Šฌ๋ผ์ด์Šค=0. ->"hel"
์˜ˆ๋ฅผ ๋“ค์–ด d="Dragoon" ์ด๋ผ๋Š” ๋ฌธ์ž์—ด์€ /D/r/a/g/o/o/n/ ์œผ๋กœ ์Šฌ๋ผ์ด์Šค ๋จ.
d.slice(0,2) : 0๋ฒˆ์งธ ์Šฌ๋ผ์ด์Šค๋ถ€ํ„ฐ 2๋ฒˆ์จฐ ์Šฌ๋ผ์ด์Šค ์‚ฌ์ด์˜ ๋ฌธ์ž ๊ฐ€์ ธ์˜ด -> "Dr"

.toUpperCase();
๋ฌธ์ž์—ด์„ ์ „๋ถ€ ๋Œ€๋ถ„์ž๋กœ ๋ฐ”๊พธ๋Š” ํ•จ์ˆ˜(๋ฉ”์„œ๋“œ?).
.toLowerCase();
๋ฌธ์ž์—ด์„ ์ „๋ถ€ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ํ•จ์ˆ˜.

์œ„ ํ•จ์ˆ˜๋“ค์„ ์‚ฌ์šฉํ•ด๋„ ๋ฌธ์ž์—ด ์ž์ฒด๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค! ๋ช…๋ น์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค„ ๋ฟ์ด๋‹ค.
๋ฐ”๋€ ๋ฌธ์ž์—ด์„ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ๋‹ค๋ฉด ๋ณ€์ˆ˜๋ฅผ ๋”ฐ๋กœ ์„ ์–ธํ•ด์•ผ.
์ฆ‰ DRAGOON์ด๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ์›ํ•œ๋‹ค๋ฉด, var d2 = d.toUpperCase(); ๋กœ ์„ ์–ธํ•ด d2๋กœ ๋ถˆ๋Ÿฌ ์จ์•ผ ํ•œ๋‹ค.

 

undefined, null, NaN

undefined: ๊ฐ’์ด ์ •์˜๋˜์ง€ ์•Š์•˜๋‹ค.

null: ๊ฐ’์ด ๋น„์–ด์žˆ๋‹ค.

NaN: ๊ฐ’(์ˆซ์ž)์ด ์•„๋‹ˆ๋‹ค.

-> ์œ„์˜ ์„ธ ๊ฐ’์€ ๊ณ„์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค!

console.log()

๊ฐœ๋ฐœ์ž ์ฝ˜์†”์— ()๋‚ด์˜ ๊ฐ’์šธ ์ฐ์–ด์ฃผ๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. (๋‹ค๋ฅธ ์–ธ์–ด์—์„œ๋Š” print()๋กœ ํ†ตํ•จ)

var a = 1; 
var b = "๋”ํ•˜๊ธฐ"; 
var c = 2; 
console.log(a + " " + b + " " + c + " = " + a + c);

->1 ๋”ํ•˜๊ธฐ 2 = 3 
(๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž์—ด์€ ๋”ํ•˜๊ธฐ+๋กœ ์—ฐ๊ฒฐํ•ด ์ถœ๋ ฅํ•˜๋ฉด ์ด์–ด๋ถ™์—ฌ์ ธ ๋‚˜์˜จ๋‹ค)

alert() ๊ณผ prompt() ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ

var ans = prompt("How are you?"); alert(ans);

var ans = prompt("How are you?"); 
alert(ans);

prompt();

๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๋Š” ํ•จ์ˆ˜.
prompt() ๋‚ด์˜ ๋ฌธ์ž์—ด์„ ํ™”๋ฉด์— ํŒ์—…์œผ๋กœ ๋„์šฐ๊ณ ,
input์ฐฝ์— ์ž…๋ ฅ๋œ ๊ฐ’์„ ๊ทธ ๋ณ€์ˆ˜๋กœ ๊ฐ€์ ธ์˜ด.

์˜ˆ๋ฅผ ๋“ค์–ด..
var ans = prompt('์ง€๊ธˆ ์‹œ๊ฐ„์€'); ์„ ์ž…๋ ฅํ•˜๋ฉด

ํŒ์—… ์ž…๋ ฅ์ฐฝ์ด ๋œจ๊ณ , ์ž…๋ ฅ๊ฐ’์ธ '์˜คํ›„ 5์‹œ 39๋ถ„'์ด ๋ณ€์ˆ˜ ans์˜ ๊ฐ’์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค.

โ€ป๋‹จ, ์ž…๋ ฅ์ฐฝ์— ์ž…๋ ฅ๋œ ๊ฐ’์€ ๋ฌด์กฐ๊ฑด ๋ฌธ์ž์—ดstring์œผ๋กœ ์ทจ๊ธ‰๋œ๋‹ค. (์ˆซ์ž๋ฅผ ๋„ฃ์–ด๋„ "์ˆซ์ž"๋กœ ์ฒ˜๋ฆฌํ•จ)
๋ฌธ์ž๋กœ ์ฒ˜๋ฆฌ๋œ ์ˆซ์ž(str)์„ ์ˆซ์ž(int)๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์‹ถ์œผ๋ฉด Number(๊ฐ’)์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.