[JS] JavaScript μž…λ¬Έ - Data Type

2022. 3. 15. 17:30

λ°μ΄ν„°νƒ€μž…


λ°μ΄ν„°νƒ€μž…μ΄λž€?

λ³€μˆ˜μ— μ „λ‹¬λ˜λŠ” 데이터 νƒ€μž…μ—λ„ μ—¬λŸ¬ μ’…λ₯˜κ°€ μ‘΄μž¬ν•œλ‹€.

 

λŒ€ν‘œμ μΈ 8κ°€μ§€ 데이터 νƒ€μž…

  • string : λ¬Έμžμ—΄
  • number : 숫자
  • function : ν•¨μˆ˜
  • array : λ°°μ—΄
  • object : 객체
  • boolean : 뢈린
  • undefined : μ •μ˜λ˜μ§€ μ•ŠμŒ
  • null : 널

 

λ¬Έμžμ—΄

“큰 λ”°μ˜΄ν‘œ” ν˜Ήμ€ ‘μž‘μ€ λ”°μ˜΄ν‘œ’λ₯Ό ν™œμš©ν•˜μ—¬ μž‘μ„±

var strl = "Hello World";
var str2 = 'Nice to meet you';
var str3 = "20";    // μˆ«μžκ°€ μ•„λ‹Œ λ¬Έμžμ—΄
  • 주의!
var str1 = "He's a boy";     // 'λ₯Ό 써야 ν•  λ•ŒλŠ” 큰 λ”°μ˜΄ν‘œ ν™œμš©ν•˜κΈ° λ“±
var str2 = 'He\'s a boy';    // ν˜Ήμ€ \'λ₯Ό ν™œμš©ν•˜μ—¬ 였λ₯˜λ₯Ό ν”Όν•œλ‹€.

 

μˆ«μžν˜•

λ³„λ„μ˜ 기호 없이 숫자 μž…λ ₯

var num1 = 10;    //μ •μˆ˜
var num2 = -10;   //음수
var num3 = 3.14   //μ‹€μˆ˜

 

ν•¨μˆ˜

κΈ°λ³Έ - 생성 및 호좜

  • ν•¨μˆ˜ 생성 : function ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 생성
  • ν•¨μˆ˜ 호좜 : ν•¨μˆ˜ μ•ˆμ— μžˆλŠ” μ½”λ“œλ₯Ό μ‹€ν–‰μ‹œν‚€κ² λ‹€λŠ” 의미
    • [방법 1] ν•¨μˆ˜λ₯Ό λ³€μˆ˜μ˜ ν˜•νƒœλ‘œμ„œ μƒν™˜
    • var func1 = function(){ console.log("Func1") } // ν•¨μˆ˜ 생성 func1(); // ν•¨μˆ˜ 호좜
    • [방법 2] function μžμ²΄μ— 이름 λΆ™μ—¬μ£ΌκΈ°
    • function func1() { console.log("Func1") } // ν•¨μˆ˜ 생성 func1(); // ν•¨μˆ˜ 호좜

 

κ·Έ μ™Έ μš©μ–΄ 정리

var area = function(width, height){
    return width * height;
}

area(10, 20);
  • λ§€κ°œλ³€μˆ˜ : μΈμžλ‘œλΆ€ν„° 전달받은 값이 λ“€μ–΄κ°€λŠ” ν†΅λ‘œ. 상황에 따라 μƒλž΅ κ°€λŠ₯ (width, height)
  • 인자 : ν•¨μˆ˜μ—κ²Œ μ „λ‹¬ν•˜λŠ” 데이터 10, 20
  • return : ν•¨μˆ˜ μ•ˆμ— 데이터λ₯Ό μ €μž₯ν•  λ•Œ μ‚¬μš© return

 

ν•¨μˆ˜ 데이터 호좜 방법

var area = function(width, height){
    return width * height;
}

// μƒˆ λ³€μˆ˜λ₯Ό μƒμ„±ν•œ ν›„, κ·Έ λ³€μˆ˜λ₯Ό console.log()둜 감싸기
var result = area(10, 20);
console.log(result);

// ν•¨μˆ˜ 자체λ₯Ό console.log()둜 감싸기
console.log(area(100, 200));

 

λ°°μ—΄

λ°μ΄ν„°μ˜ μ’Œν‘œκ°’(index) μž‘μ„±. 첫 번째 μ’Œν‘œκ°’μ€ 0λΆ€ν„° μ‹œμž‘

var fruit = ["사과", "λ°°", "μˆ˜λ°•"]

console.log(fruit[0]);  // 0번째 indexμ˜λ°μ΄ν„° μΆ”μΆœ. 즉, 사과 μΆ”μΆœ

λ°°μ—΄ 데이터 λ³€κ²½ν•˜κΈ°

인덱슀λ₯Ό μ‚¬μš©ν•˜μ—¬ μƒˆλ‘œμš΄ 데이터 λŒ€μž…

 

객체

property, method, λ°μ΄ν„°λ‘œ ꡬ성됨. μ—¬λŸ¬ μ’…λ₯˜μ˜ 데이터 νƒ€μž… μ‚½μž… κ°€λŠ₯

πŸ“Œ property : 객체가 κ°€μ§€κ³  μžˆλŠ” 데이터듀

method : 객체가 κ°€μ§€κ³  μžˆλŠ” ν•¨μˆ˜λ“€

객체 데이터 좜λ ₯ν•˜κΈ°

 

객체 데이터 λ³€κ²½ν•˜κΈ°

  • 객체에 μ—¬λŸ¬ 데이터λ₯Ό 넣을 λ•ŒλŠ” μ‰Όν‘œλ₯Ό μ‚¬μš©ν•˜λ©΄ λ©λ‹ˆλ‹€!
  • 객체의 νŠΉμ • 데이터에 μ ‘κ·Όν•˜λ €λ©΄ .ν˜Ήμ€ []λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
  • κΈ°λ³Έ μ—°μŠ΅λ¬Έμ œ
    1. varλ₯Ό μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜ studentλ₯Ό μ„ μ–Έν•˜κ³ , 객체 데이터 νƒ€μž…μ„ λ„£κΈ° μœ„ν•΄ μ€‘κ΄„ν˜Έ{}λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.
    2. 객체에 ν”„λ‘œνΌν‹° name: "Elice", age:20, skills: ["Java", "HTML", "CSS", "JavaScript"]λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.
    3. 객체에 λ©”μ„œλ“œ sum: function(num1,num2) { return num1 + num2; }λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.
    4. student.name ν˜Ήμ€ student["name"]을 μž…λ ₯ν•˜μ—¬ name 데이터에 μ ‘κ·Όν•©λ‹ˆλ‹€.
    5. name의 데이터λ₯Ό park으둜 λ³€κ²½ν•˜κ³ , document.write();λ₯Ό μ‚¬μš©ν•˜μ—¬ μ˜¬λ°”λ₯΄κ²Œ λ³€κ²½λλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
    6. sum λ©”μ„œλ“œμ— 인자 10, 20을 λ„£κ³ , document.write();λ₯Ό μ‚¬μš©ν•˜μ—¬ μ˜¬λ°”λ₯΄κ²Œ 좜λ ₯λ˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
    7. var student = { name : "Elice", age : 20, skills : ["Java", "HTML", "CSS", "JavaScript"], sum : function(num1, num2){ return num1 + num2; } } student.name = "park"; document.write(student.name); document.write(student.sum(10, 20));

 

Boolean

μ°Έ λ˜λŠ” κ±°μ§“ 데이터가 λ“€μ–΄κ°€ μžˆλŠ” μƒνƒœ

 

undefined, null

  • undefined : λ³€μˆ˜ μ•ˆμ— 데이터λ₯Ό μž…λ ₯ν•˜μ§€ μ•Šμ€ μƒνƒœ (데이터가 μ—†λŠ” 것)
  • null : κ°œλ°œμžκ°€ μž„μ˜λ‘œ λ³€μˆ˜ μ•ˆμ— 빈 데이터λ₯Ό μ‚½μž…ν•œ μƒνƒœ (빈 데이터λ₯Ό μ§€μ •ν•œ 것)

BELATED ARTICLES

more