문자열 심화 & 객체의 기본과 속성


본 포스팅은
<ZeroCho님의 인프런 - 웹 게임 개발 자바스크립트 >
강의를 들으면서 정리한 내용임을 알려드립니다.


문자열 심화 - index와 length

1
2
3
4
5
6
"함수야놀자"[2];
// "야"
"함수야놀자"[0];
//"함"
"함수야놀자"[3];
//"놀"
1
2
3
함수야 놀자
1 2 3 4 5 <-- 사람
0 1 2 3 4 <-- 컴퓨터(자바스크립트)
  • .length를 이용하면, 길이를 쉽게 구할 수 있다.
    아래의 예시를 보자.
1
2
3
4
5
6
let 단어 = "함수야놀자";
// undefined
단어[2];
//"야"
단어.length;
//5

객체

객체함수, 배열, 그리고 함수도 배열도 아닌 객체로 구성된다.

  • 함수function(){}
  • 배열
  • 함수도 배열도 아닌 객체
    • 숫자
    • 문자
    • 불린(true, false)
    • null
    • undefined
1
2
3
4
ex)
동물
사람
원숭이

사람동물, 원숭이는 동물이라고 할 수 있지만,
사람원숭이라고 하거나 원숭이를 사람이라고 할 수 없다.

-> 함수는 객체이고, 배열은 객체라고 할 수 있으나
객체를 배열이라고 하거나 배열을 객체라고 할 수 없다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let 이름 = "제로초";
let 키 = "174";
let 몸무게 = "68";
let 아이큐 = "300";
let 통장잔고 = "0";

이름;
// "제로초"
키;
// "174"
몸무게;
// "68"
아이큐;
//"300"
통장잔고;
//"0"
1
2
3
let 이름 = "네로";
이름;
// "네로"
  • 이름에 “제로초”와 “네로”를 각각 저장하고 싶은데
    값이 “제로초”에서 “네로”로 바뀌었다.

  • 만약 객체가 없다면,
    아래 예제와 같은 식으로 계속해서
    변수를 무제한으로 만들어야 하는 경우가 생긴다.

1
2
3
let 이름2 = "네로";
let2 = "160";
let 몸무게2 = "54";

객체는 값들을 그룹화할 때 쓰면 좋다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 제로초라는 변수에 객체{}를 저장한다.
let 제로초 = {};
let 제로초 = {
이름: "제로초",
키: 174,
몸무게: 68
};

let 네로 = {};
let 네로 = {
이름: "네로",
키: 160,
몸무게: 58
};
1
2
3
4
5
6
7
8
9
// 제로초를 호출하면,
// 변수 제로초에 저장된 객체의 값을 가져온다.
제로초;
// {이름: "제로초", 키: 174, 몸무게: 68}

//네로를 호출하면,
// 변수 네로에 저장된 객체의 값을 가져온다.
네로;
// {이름: "네로", 키: 160, 몸무게: 58}
  • 객체의 값 자리에는 모든 값 형태를 넣을 수 있다.
    함수도 넣을 수 있다.

  • 함수가 들어있는 속성(프로퍼티)메서드라고 한다.

1
2
3
4
5
6
let 제로초 = {
이름: "제로초",
먹다: function 먹다() {
console.log("냠냠");
}
};

객체의 형태

1
2
3
4
객체 = {
속성(프로퍼티): 값,
속성(메서드): 함수,
}