๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JAVASCRIPT

[JAVASCRIPT] ๋‚ด์žฅ ํ•จ์ˆ˜

by _ํ† ๋งคํ†  2022. 8. 16.
728x90

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ : ๋‚ด์žฅ ํ•จ์ˆ˜

๋‚ด์žฅ ํ•จ์ˆ˜๋ž€? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
์ง€๊ธˆ๋ถ€ํ„ฐ ๋‚ด์žฅ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ด…์‹œ๋‹ค!


1. ์ธ์ฝ”๋”ฉ, ๋””์ฝ”๋”ฉ ํ•จ์ˆ˜

URL์ฃผ์†Œ์— ์ฟผ๋ฆฌ ์ •๋ณด๋ฅผ ์ „์†กํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๊ฑธ๋ฆด ํ™•๋ฅ ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ์ธ์ฝ”๋”ฉ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฌธ์ž๋ฅผ ๋ถ€ํ˜ธํ™” ์‹œ์ผœ์„œ ์ฒ˜๋ฆฌํ•œ ํ›„ ๋””์ฝ”๋”ฉ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฌธ์ž๋กœ ๋‹ค์‹œ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•จ์ˆ˜๋ช… ์„ค๋ช…
encodeURIComponent( ) ์˜๋ฌธ, ์ˆซ์ž์™€ ( ) - _ . ~ * ! ' ์„ ์ œ์™ธํ•œ ๋ฌธ์ž๋ฅผ ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค.
decodeURIComponent( ) encodeURIComponent( )์˜ ๋””์ฝ”๋”ฉ ํ•จ์ˆ˜

2. ์ˆซ์ž, ์œ /๋ฌดํ•œ ๊ฐ’ ํŒ๋ณ„ ํ•จ์ˆ˜

ํ•จ์ˆ˜๋ช… ์„ค๋ช…
isNaN( ) ์ˆซ์ž์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
์ˆซ์ž์ด๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ด ์ฃผ๊ณ  ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•ด ์ค๋‹ˆ๋‹ค.
(NaN = Not a Number)
isFinite( ) ์œ ํ•œ๊ฐ’์ธ์ง€ ๋ฌดํ•œ๊ฐ’์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
์œ ํ•œ๊ฐ’์ด๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋ฌดํ•œ๊ฐ’์ด๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

3. ์ˆซ์ž, ๋ฌธ์ž ๋ณ€ํ™˜ ํ•จ์ˆ˜

ํ•จ์ˆ˜๋ช… ์„ค๋ช…
Number( ) ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
parselnt( ) ์ˆซ์ž์™€ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ์ •์ˆ˜ ๋ถ€๋ถ„๋งŒ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
parseFloat( ) ์ˆซ์ž์™€ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ์†Œ์ˆ˜ ๋ถ€๋ถ„๊นŒ์ง€ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
String( ) ๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด ์ฃผ๋Š” ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค.

4. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ•จ์ˆ˜

ํ•จ์ˆ˜๋ช… ์„ค๋ช…
eval( ) ๋ฌธ์ž๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

๋‚ด์žฅ ํ•จ์ˆ˜ ์˜ˆ์ œ

์˜ˆ์ œ ๋ณด๊ธฐ
{
    // ์ธ์ฝ”๋”ฉ, ๋””์ฝ”๋”ฉ ํ•จ์ˆ˜
    var encodeStr = '์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ';
    console.log(encodeURIComponent(encodeStr)); //%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8
    var decodeStr = encodeURIComponent(encodeStr); 
    console.log(decodeURIComponent(decodeStr)); //์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ


    // ์ˆซ์ž, ์œ ํ•œ๋ฌดํ•œ ๊ฐ’ ํŒ๋ณ„ ํ•จ์ˆ˜
    var num1 = '์ˆซ์ž'; 
    if (!isNaN(num1)) {
        console.log('์ˆซ์ž');
    } else {
        console.log('์ˆซ์ž์•„๋‹˜');  //์ˆซ์ž์•„๋‹˜
    }
    var num2 = 1/0; 
    if (isFinite(num2)){
        console.log('์œ ํ•œ๊ฐ’');
    } else {
        console.log('๋ฌดํ•œ๊ฐ’');  //๋ฌดํ•œ๊ฐ’
    }


    // ์ˆซ์ž, ๋ฌธ์ž ๋ณ€ํ™˜ ํ•จ์ˆ˜
    var num3 = '10';
    console.log(Number(num3)); //10
    var num4 = '100px';
    console.log(parseInt(num4)); //100
    var num5 = '33.3%';
    console.log(parseFloat(num5)); //33.3%
    var num6 = 10;
    console.log(typeof num6);         //number
    console.log(typeof String(num6)); //string


    // ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ•จ์ˆ˜
    var str1 = 'var num7 = 10';
    var str2 = 'var num8 = 20';
    eval(str1);
    eval(str2);
    console.log(num7 + num8); //30
}
728x90

๋Œ“๊ธ€


Lucky Charms Rainbow
js
html
css