๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

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

by Youcodein 2022. 8. 15.
728x90
๋ฐ˜์‘ํ˜•

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

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

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

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

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

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

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

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

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

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

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ex)3-32

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>๋‚ด์žฅํ•จ์ˆ˜</title>

    <script>
        //์ธ์ฝ”๋”ฉ, ๋””์ฝ”๋”ฉ ํ•จ์ˆ˜
        var encodeStr = '์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ';
        console.log(encodeURIComponent(encodeStr));
        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));
        var num4 = '100px';
        console.log(parseInt(num4));
        var num5 = '33.3%';
        console.log(parseFloat(num5));
        var num6 = 10;
        console.log(typeof(num6));
        console.log(typeof String(num6));

        //์ˆซ์ž,๋ฌธ์ž ๋ณ€ํ™˜ ํ•จ์ˆ˜
        var str1 = 'var num7 = 10';
        var str2 = 'var num8 = 20';
        eval(str1);
        eval(str2);
        console.log(num7 + num8);

    </script>
</head>
<body>
</body>

</html>
๊ฒฐ๊ณผ ๋ณด๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€