티스토리 뷰
1. Object란
- 원시 타입을 제외한 나머지 값들(함수, 배열, 정규표현식)등들 객체 라고 한다.
- key와 value로 구성 된 프로퍼티 이다.
const obj = {
data1(){
console.log("안녕")
}
}
obj.data1() // 메서드
2. 객체를 생성 하는 방법
- 객체를 생성 하는 방법에는 두가지의 방식이 있다.
1. 객체 리터럴 방식
2. 생성자 함수 방식
- 객체 리터럴 방식이 가장 일반 적인 방식이다.
var aa = {
key: 0,
value: "hi"
}
- 생성자 함수 방식은 객체 리터럴 방식을 풀어 놓은 방식이라고 생각 하면 된다.
즉 생성자 함수로 객체를 생성한 것을 함축 해놓은 것이 객체 리터럴 방식이다.
var aa = new Object()
aa.key = 0
aa.value = "hi"
console.log(aa) // {key:0, value="hi"}
- 객체의 값을 다른 여러개의 값으로 생성 할때는 불편 함들이 있어서 이럴때는 생성자 함수를 사용 하여 여러개의 동일 한 객체를 만들 수 있다.
function abc(name, gender){
var aa = true -> private
this.key = key; -> public
this.value = value; -> public
}
var abc1 = new abc(0, "kim")
var abc2 = new abc(1, "kim1")
- 생성자 함수 내에서 선언된 일반 변수는 private 된다.
3. 프로퍼티 값 갱신 & 동적 생성
- 값 갱신
var aa = {
key : 0,
value : "bb",
}
aa.value = "c"
- 동적 생성
var aa = {
key : 0,
value : "bb",
}
aa.test = "hi"
4. for-in 문
- for-in문을 사용 하면 객체에 포함된 모든 프로퍼티에 대한 루프를 수행 할 수 있다.
var aa = {
first : "aa",
bb : "bb",
cc : "cc"
}
for (let key in aa) {
console.log(key + ':' + aa[key])
}
//first:aa
//bb:bb
//cc:cc
- 배열의 경우에는 인덱스가 반환 된다.
var arr = ['aa', 'bb']
for (let index in arr) {
console.log(index + ':' + arr[index])
}
// 0:aa
// 1:bb
- for-in 문은 객체의 문자열을 순회하는 문법이라고 보면 된다.
- 객체의 경우 프로퍼티의 순서가 보장 되지 않는다.
- 객체의 프로퍼티는 순서가 없기 때문이다.
- 배열의 요소만 순회 하지 않는다.
5. for-of
- for-of 문은 배열의 요소를 순회 할때 사용 한다. .
const aa = [1,2,3]
aa.name = 'kim'
// console.log(aa) => [1, 2, 3, name: 'kim']
for(const [index, value] of aa.entries()){
console.log(index + "," + value)
}
// 0,1
// 1,2
// 2,3
'Web > javaScript' 카테고리의 다른 글
[javascript] 이론 Reference(참조) (0) | 2022.04.04 |
---|---|
자바스크립트 Number 메소드 (0) | 2019.01.29 |
console.log 결과값 가로로 나오게 하기! (0) | 2019.01.18 |
배열중 최소 최대 값 (0) | 2019.01.15 |
배열 합치기 (0) | 2019.01.15 |
댓글