Language/JavaScript

[JavaScript] 데이터 νƒ€μž…

Dexter_- 2018. 10. 15. 15:37
728x90
λ°˜μ‘ν˜•

 

 

 

 

κΈ°λ³Έ νƒ€μž…

πŸ“Œ νƒ€μž…(data type) μ΄λž€ ν”„λ‘œκ·Έλž¨μ—μ„œ λ‹€λ£° 수 μžˆλŠ” κ°’μ˜ μ’…λ₯˜λ₯Ό μ˜λ―Έν•œλ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” μ—¬λŸ¬ κ°€μ§€ ν˜•νƒœμ˜ νƒ€μž…μ„ 미리 μ •μ˜ν•˜μ—¬ μ œκ³΅ν•˜κ³  있으며, 이것을 κΈ°λ³Έ νƒ€μž…μ΄λΌκ³  ν•œλ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ κΈ°λ³Έ νƒ€μž…μ€ 크게 μ›μ‹œ νƒ€μž…κ³Ό 객체 νƒ€μž…μœΌλ‘œ ꡬ뢄할 수 μžˆλ‹€.

 

μ›μ‹œ νƒ€μž…(primitive type)은 λ‹€μŒκ³Ό κ°™λ‹€.

  1. 숫자(number)
  2. λ¬Έμžμ—΄(string)
  3. λΆˆλ¦¬μ–Έ(boolean)
  4. 심볼(symbol) : ECMAScript 6λΆ€ν„° 제곡됨
  5. undefined
  6. 객체(object)

πŸ”” 예제)

var num = 10;    		// 숫자
var myName = "홍길동";  // λ¬Έμžμ—΄
var str;    			// undefined

 

 

숫자(number)

πŸ“Œ μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λ‹€λ₯Έ μ–Έμ–΄μ™€λŠ” 달리 μ •μˆ˜μ™€ μ‹€μˆ˜λ₯Ό λ”°λ‘œ κ΅¬λΆ„ν•˜μ§€ μ•Šκ³ , λͺ¨λ“  수λ₯Ό μ‹€μˆ˜ ν•˜λ‚˜λ‘œλ§Œ ν‘œν˜„ν•œλ‹€.

λ˜ν•œ, 맀우 큰 μˆ˜λ‚˜ 맀우 μž‘μ€ 수λ₯Ό ν‘œν˜„ν•  κ²½μš°μ—λŠ” eν‘œκΈ°λ²•μ„ μ‚¬μš©ν•  수 μžˆλ‹€.

 

πŸ”” 예제)

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>숫자 νƒ€μž…</h1>    
    <p id="number"></p>

    <script>
        var firstNum = 10;        // μ†Œμˆ˜μ μ„ μ‚¬μš©ν•˜μ§€ μ•Šμ€ ν‘œν˜„
        var secondNum = 10.00;    // μ†Œμˆ˜μ μ„ μ‚¬μš©ν•œ ν‘œν˜„
        var thirdNum = 10e6;    // 10000000
        var fourthNum = 10e-6;    // 0.00001

        document.getElementById("number").innerHTML = 
            firstNum + "<br>" + secondNum + "<br>" + thirdNum + "<br>" + fourthNum + "<br>";
   </script>    
</body>
</html>

 

μ‹€ν–‰ κ²°κ³Ό

숫자 νƒ€μž…

 

 

 

 

λ¬Έμžμ—΄(string)

πŸ“Œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λ¬Έμžμ—΄μ€ ν°λ”°μ˜΄ν‘œ("")λ‚˜ μž‘μ€λ”°μ˜΄ν‘œ('')둜 λ‘˜λŸ¬μ‹ΈμΈ 문자의 집합을 μ˜λ―Έν•œλ‹€.

ν°λ”°μ˜΄ν‘œλŠ” μž‘μ€λ”°μ˜΄ν‘œλ‘œ λ‘˜λŸ¬μ‹ΈμΈ λ¬Έμžμ—΄μ—λ§Œ 포함될 수 있으며, μž‘μ€λ”°μ˜΄ν‘œλŠ” ν°λ”°μ˜΄ν‘œλ‘œ λ‘˜λŸ¬μ‹ΈμΈ λ¬Έμžμ—΄μ—λ§Œ 포함될 수 μžˆλ‹€.

 

πŸ”” 예제)

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>λ¬Έμžμ—΄ νƒ€μž…</h1>    
    <p id="str"></p>

    <script>
        var firstStr = "이것도 λ¬Έμžμ—΄μž…λ‹ˆλ‹€.";        // ν°λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•œ λ¬Έμžμ—΄
        var secondStr = '이것도 λ¬Έμžμ—΄μž…λ‹ˆλ‹€.';        // μž‘μ€λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•œ λ¬Έμžμ—΄
        var thirdStr = "λ‚˜μ˜ 이름은 '홍길동'이야."    // μž‘μ€λ”°μ˜΄ν‘œλŠ” ν°λ”°μ˜΄ν‘œλ‘œ λ‘˜λŸ¬μ‹ΈμΈ λ¬Έμžμ—΄μ—λ§Œ 포함될 수 있음.
        var fourthStr = 'λ‚˜μ˜ 이름은 "홍길동"이야.'    // ν°λ”°μ˜΄ν‘œλŠ” μž‘μ€λ”°μ˜΄ν‘œλ‘œ λ‘˜λŸ¬μ‹ΈμΈ λ¬Έμžμ—΄μ—λ§Œ 포함될 수 있음.

        document.getElementById("str").innerHTML = 
            firstStr + "<br>" + secondStr + "<br>" + thirdStr + "<br>" + fourthStr + "<br>";
   </script>    
</body>
</html>

 

μ‹€ν–‰κ²°κ³Ό

λ¬Έμžμ—΄ νƒ€μž…

 


 

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” μˆ«μžμ™€ λ¬Έμžμ—΄μ„ 더할 μˆ˜λ„ μžˆλ‹€.

이럴 κ²½μš°μ— μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 숫자λ₯Ό λ¬Έμžμ—΄λ‘œ μžλ™ λ³€ν™˜ν•˜μ—¬, 두 λ¬Έμžμ—΄μ„ μ—°κ²°ν•˜λŠ” 연산을 μˆ˜ν–‰ν•œλ‹€.

 

πŸ”” 예제)

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

<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>μˆ«μžμ™€ λ¬Έμžμ—΄μ˜ λ§μ…ˆ</h1>
    <p id="result"></p>
    <script>
        var num = 10;
        var str = "JavaScript";
        
        document.getElementById("result").innerHTML = (num + str);
   </script>    
</body>
</html>

 

μ‹€ν–‰ κ²°κ³Ό

μˆ«μžμ™€ λ¬Έμžμ—΄μ˜ λ§μ…ˆ

 


 

 

 

λΆˆλ¦¬μ–Έ(boolean)

λΆˆλ¦¬μ–Έ 값은 μ°Έ(true)κ³Ό κ±°μ§“(false)을 ν‘œν˜„ν•œλ‹€.

 

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λΆˆλ¦¬μ–Έ 값은 μ˜ˆμ•½μ–΄μΈ true와 falseλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€.

 

πŸ”” 예제)

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>λΆˆλ¦¬μ–Έ νƒ€μž…</h1>
    <p id="result"></p>
    <script>
        var firstNum = 10;
        var secondNum = 11;
        
        document.getElementById("result").innerHTML = (firstNum == secondNum);
   </script>    
</body>
</html>

 

μ‹€ν–‰ κ²°κ³Ό

λΆˆλ¦¬μ–Έ νƒ€μž…

 

 

 

 

심볼(symbol)

심볼 νƒ€μž…μ€ ECMAScript 6 λΆ€ν„° μƒˆλ‘­κ²Œ μΆ”κ°€λœ νƒ€μž…μ΄λ‹€.

심볼은 μœ μΌν•˜κ³  λ³€κ²½ν•  수 μ—†λŠ” νƒ€μž…μœΌλ‘œ, 객체의 ν”„λ‘œνΌν‹°λ₯Ό μœ„ν•œ μ‹λ³„μžλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.

 

πŸ”” 예제)

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>심볼 νƒ€μž…</h1>
    <p id="result"></p>

    <script>
        var sym = Symbol("javascript");        // 심볼 νƒ€μž…
        var symObj = Object(sym);             // 객체 νƒ€μž…
        
        document.getElementById("result").innerHTML = 
            (typeof sym) + "<br>" + (typeof symObj);
   </script>    
</body>
</html>

 

μ‹€ν–‰ κ²°κ³Ό

심볼 νƒ€μž…

 

 

πŸ’‘ 심볼 νƒ€μž…μ€ μ΅μŠ€ν”Œλ‘œλŸ¬μ—μ„œ μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

 

 

typeof μ—°μ‚°μž

typeof μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μžμ˜ νƒ€μž…μ„ λ°˜ν™˜ν•˜λŠ” ν”Όμ—°μ‚°μžκ°€ 단 ν•˜λ‚˜λΏμΈ μ—°μ‚°μžμ΄λ‹€.

 

πŸ”” 예제)

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>typeof μ—°μ‚°μž</h1>
    <p id="result"></p>
    <script>
        document.getElementById("result").innerHTML = (typeof 10) + "<br>";
        document.getElementById("result").innerHTML += (typeof "λ¬Έμžμ—΄") + "<br>";
        document.getElementById("result").innerHTML += (typeof true) + "<br>";
        document.getElementById("result").innerHTML += (typeof undefined) + "<br>";
        document.getElementById("result").innerHTML += (typeof null);
   </script>    
</body>
</html>

 

μ‹€ν–‰ κ²°κ³Ό

typeof μ—°μ‚°μž

 

 

 

 

null κ³Ό undefined

πŸ“Œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ nullμ΄λž€ object νƒ€μž…μ΄λ©°, 아직 'κ°’'이 μ •ν•΄μ§€μ§€ μ•Šμ€ 것을 μ˜λ―Έν•œλ‹€. λ˜ν•œ, undefined λž€ nullκ³ΌλŠ” 달리 'νƒ€μž…'이 μ •ν•΄μ§€μ§€ μ•Šμ€ 것을 μ˜λ―Έν•œλ‹€. λ”°λΌμ„œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ undefinedλŠ” μ΄ˆκΈ°ν™”λ˜μ§€ μ•Šμ€ λ³€μˆ˜λ‚˜ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 값에 μ ‘κ·Όν•  λ•Œ λ°˜ν™˜λœλ‹€.

 

πŸ”” 예제)

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

<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>nullκ³Ό undefined</h1>
    <p id="result"></p>

    <script>
        var num;        // μ΄ˆκΈ°ν™”ν•˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ undefined 값을 λ°˜ν™˜ν•¨.
        var str = null;    // object νƒ€μž…μ˜ null κ°’
        
        // μ •μ˜λ˜μ§€ μ•Šμ€ λ³€μˆ˜μ— μ ‘κ·Όν•˜λ©΄ undefined 값을 λ°˜ν™˜ν•¨.
        document.getElementById("result").innerHTML = 
            (typeof num) + "<br>" + (typeof str) + "<br>" + (typeof secondNum);
   </script>    
</body>
</html>

 

μ‹€ν–‰ κ²°κ³Ό

nullκ³Ό undefined

 

 

null κ³Ό undefinedλŠ” 동등 μ—°μ‚°μž(==)와 일치 μ—°μ‚°μž(===)둜 비ꡐ할 λ•Œ κ·Έ 결과값이 λ‹€λ₯΄λ―€λ‘œ μ£Όμ˜ν•΄μ•Όν•œλ‹€.

null κ³Ό undefinedλŠ” νƒ€μž…μ„ μ œμ™Έν•˜λ©΄ 같은 μ˜λ―Έμ§€λ§Œ, νƒ€μž…μ΄ λ‹€λ₯΄λ―€λ‘œ μΌμΉ˜ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€.

 

πŸ”” 예제)

null == undefined;    // true

null == undefined;    // false

 

 

 

객체(object)

μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ κΈ°λ³Έ νƒ€μž…μ€ 객체(object)이닀.

객체(object)λž€ μ‹€μƒν™œμ—μ„œ μš°λ¦¬κ°€ 인식할 수 μžˆλŠ” μ‚¬λ¬Όλ‘œ 이해할 수 μžˆλ‹€.

κ°μ²΄λŠ” μ—¬λŸ¬ ν”„λ‘œνΌν‹°(property)λ‚˜ λ©”μ†Œλ“œ(method)λ₯Ό 같은 μ΄λ¦„μœΌλ‘œ 묢어놓은 μΌμ’…μ˜ 집합체이닀.

 

πŸ”” 예제)

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

<head>
    <meta charset="UTF-8">
    <title>JavaScript DataType</title>
</head>
<body>
    <h1>객체 νƒ€μž…</h1>
    <p id="result"></p>

    <script>
        var dog = { name: "ν•΄ν”Ό", age: 3 };    // 객체의 생성

        // 객체의 ν”„λ‘œνΌν‹° μ°Έμ‘°
        document.getElementById("result").innerHTML = 
            "κ°•μ•„μ§€μ˜ 이름은 " + dog.name + "이고, λ‚˜μ΄λŠ” " + dog.age + "μ‚΄ μž…λ‹ˆλ‹€.";
   </script>    
</body>
</html>

 

μ‹€ν–‰ κ²°κ³Ό

객체 νƒ€μž…

 

 

 

728x90
λ°˜μ‘ν˜•