๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/Code-States

[D+02] JavaScript ๊ธฐ์ดˆ 02

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2020. 9. 8.

 

D+02

-  JavaScript์˜ ๊ธฐ์ดˆ 02 -

(์กฐ๊ฑด๋ฌธ, ๋ฌธ์ž์—ด)

 


 

 

์กฐ๊ฑด๋ฌธ

 ํŠน์ •ํ•œ ์กฐ๊ฑด์—์„œ๋งŒ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

์ฐธ(true)๊ณผ ๊ฑฐ์ง“(flase)์œผ๋กœ ๋‚˜๋‰˜๋Š” 'Boolean'์€ ์กฐ๊ฑด๋ฌธ์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค.

 

๋น„๊ต ์—ฐ์‚ฐ์ž(comparison operator)๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

 

 

์กฐ๊ฑด๋ฌธ ์„ ์–ธ

if (์กฐ๊ฑด1) { // ๋งŒ์•ฝ ์กฐ๊ฑด1์— ์„ฑ๋ฆฝ๋  ๊ฒฝ์šฐ
	...
}
else if (์กฐ๊ฑด2) { // ์กฐ๊ฑด1์— ์„ฑ๋ฆฝ๋˜์ง€ ์•Š๊ณ , ์กฐ๊ฑด2์— ์„ฑ๋ฆฝ๋  ๊ฒฝ์šฐ
	...
}
else { // ๋ชจ๋“  ์กฐ๊ฑด์ด ์„ฑ๋ฆฝ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ
	...
}    

 

 

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

• ํฌ๊ณ  ์ž‘์€ ๋Œ€์†Œ์™€ ๋™๋“ฑ ๊ด€๊ณ„๋ฅผ ๋”ฐ์ง€๋Š” ์—ฐ์‚ฐ์ž

 

•๋น„๊ต ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

์—ฐ์‚ฐ์ž ์„ค๋ช…
== A์™€ B์˜ ๊ฐ’์ด ๊ฐ™์€์ง€ ๋น„๊ต
=== A์™€ B์˜ ๊ฐ’ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋ฃŒํ˜•์ด ๊ฐ™์€์ง€ ๋น„๊ต
!== A์™€ B์˜ ๊ฐ’์ด ๋‹ค๋ฅธ์ง€ ๋น„๊ต
> A๊ฐ€ B๋ณด๋‹ค ํฐ์ง€ ๋น„๊ต
>= A๊ฐ€ B๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€์ง€ ๋น„๊ต
< A๊ฐ€ B๋ณด๋‹ค ์ž‘์€์ง€ ๋น„๊ต
<= A๊ฐ€ B๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€์ง€ ๋น„๊ต

 

 

'=='์™€ '==='์˜ ์ฐจ์ด์ 

'=='๋Š” ๋‹จ์ˆœํžˆ ๊ฐ’์ด ๊ฐ™์€์ง€๋ฅผ ๋น„๊ตํ•˜์ง€๋งŒ,

'==='๋Š” ๊ฐ’์ด ๊ฐ™์€์ง€ ๋น„๊ตํ•ด์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋ฃŒํ˜•์ด ๊ฐ™์€์ง€ ๊นŒ์ง€ ๋น„๊ตํ•ด ์ค€๋‹ค.

 

๋˜ํ•œ '=='๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ '==='๋ณด๋‹จ ์—„๊ฒฉํ•˜๊ฒŒ ๋น„๊ตํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„์˜ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์ด ์žฆ์€ ํŽธ์ด๋‹ค.

 

JavaScript - Equality - table

 

 

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ํ•œ ๋ฒˆ์— ์ ์šฉ์‹œ์ผœ์•ผ ๋  ๋•Œ์— ์‚ฌ์šฉํ•œ๋‹ค.

 

 ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์ข…๋ฅ˜

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์„ค๋ช…
&& (AND ์—ฐ์‚ฐ์ž) ๋…ผ๋ฆฌ์‹์ด ๋ชจ๋‘ ์ฐธ์ผ ๊ฒฝ์šฐ์— ์ฐธ์ด๋‹ค
|| (OR ์—ฐ์‚ฐ์ž) ๋…ผ๋ฆฌ์‹๋“ค ์ค‘์—์„œ ํ•˜๋‚˜๋งŒ ์ฐธ์ด์—ฌ๋„ ์ฐธ์ด๋‹ค
! (NOT ์—ฐ์‚ฐ์ž) ๋…ผ๋ฆฌ์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ด๋ฉด ๊ฑฐ์ง“์„, ๊ฑฐ์ง“์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค

 

Falsy ์™€ Truthy

Truthy : Boolean ๋ฌธ๋งฅ์—์„œ true๋กœ ํ‰๊ฐ€๋˜๋Š” ๊ฐ’์œผ๋กœ ๊ฑฐ์ง“ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ •์˜๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ชจ๋‘ truthy๋กœ ํ‰๊ฐ€๋œ๋‹ค.

 

Falsy : Boolean ๋ฌธ๋งฅ์—์„œ false๋กœ ํ‰๊ฐ€๋˜๋Š” ๊ฐ’

์ข…๋ฅ˜ ์„ค๋ช…
false ๊ฑฐ์ง“
0 ์ˆซ์ž 0
" " ๋นˆ ๋ฌธ์ž
undefined ๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š์Œ
NaN 'Not a Number'๋กœ ์ˆซ์ž๊ฐ€ ์•„๋‹˜
null ์•„๋ฌด๋Ÿฐ ๊ฐ’๋„ ์—†์Œ

 


๋ฌธ์ž์—ด

 

 

๋ฌธ์ž์—ด์˜ ํŠน์ง•

• index๋กœ ์ ‘๊ทผ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ฐ’์„ ์ƒˆ๋กœ ํ• ๋‹นํ•˜์ง€ ์•Š๋Š” ํ•œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค. (read-only)

 

'+' ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

str1 = 'Good ';
str2 = 'Morning!';

str1 + str2; // 'Good Morning!'

 

•string ํƒ€์ž…๊ณผ ๋‹ค๋ฅธ ํƒ€์ž… ์‚ฌ์ด์— '+'์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, string ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜์ด ๋œ๋‹ค.

str1 = '10';

str1 + 9; // '10' + 9๋กœ '109'์ด๋‹ค

 

 

length PROPERTY

•๋ฌธ์ž์—ด์˜ ์ „์ฒด ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜

let str = 'watermelon';

return str.length; // 10

 

 

str.indexOf(searchValue)

•searchValue์— ์žˆ๋Š” ๋ฌธ์ž๊ฐ€ str์— ์–ด๋–ค ์ธ๋ฑ์Šค์— ์œ„์น˜ํ•ด ์žˆ๋Š”์ง€ ์•Œ๋ ค์คŒ

'Blue Whale'.indexOf('Blue'); // 0
'Blue Whale'.indexOf('blue'); // -1 (์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์—†์Œ)
'Blue Whale'.indexOf('Whale'); // 5
'Blue Whale Whale'.indexOf('Whale'); // 5

// ๋งˆ์ง€๋ง‰ new ๋ฌธ์ž์—ด ์œ„์น˜๋Š” 6
'Brave new world'.lastindexOf('new');

 

•์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์—†์„ ๊ฒฝ์šฐ -1์ด ๋‚˜์˜จ๋‹ค.

 

 

str.includes(searchValue)

•ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด์ด ๋‹ค๋ฅธ ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜์–ด์žˆ๋Š”์ง€๋ฅผ ํŒ๋ณ„ํ•œ ํ›„ ์ฐธ๊ณผ ๊ฑฐ์ง“์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

'Blue Whale'.includes('blue'); // false

 

 

str.split(separator)

•๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ ๋ฌธ์ž์—ด์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

let str = 'orange, watermelon, apple, pear';

return str.split(', '); // ['orange', 'watermelon', 'apple', 'pear']

 

 

str.substring(start, end)

•์‹œ์ž‘๊ณผ ๋ ์ธ๋ฑ์Šค๋ฅผ ๋„ฃ์–ด ๋†“๊ณ  ๊ตฌ๊ฐ„์— ์žˆ๋Š” ๋ฌธ์ž๋“ค์„ ๊ฐ€์ ธ์˜จ๋‹ค.

 (๋‹จ, end์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋Š”๋‹ค)

let str = 'abcdefghij';

return str.substring(0, 3); // 'abc';
return.str.substring(3, 0); // 'abc' (start์™€ end๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์ƒ๊ด€ ์—†์Œ)
return.str.substring(1, 4); // 'bcd'
return.str.substring(-1, 4); // 'abcd', (์Œ์ˆ˜๋Š” 0์œผ๋กœ ์ทจ๊ธ‰)
return.str.substring(0, 20); // 'abcdefghij' (index ๋ฒ”์œ„๋ฅผ ๋„˜์„ ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ index๋กœ ์ทจ๊ธ‰)

 

 

str.toLowerCase( ) / str.toUpperCase( )

•๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž/์†Œ๋ฌธ์ž ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.

'HELLO'.toLowerCase(); // 'hello'

'hello'.toUpperCase(); // 'HELLO'

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€