πŸ“š [JavaScript] 객체

이가은·2022λ…„ 4μ›” 8일
1

JavaScript

λͺ©λ‘ 보기
8/13

πŸ“• 객체

1. 객체(object)

ν”„λ‘œκ·Έλž¨μ—μ„œ 인식할 수 μžˆλŠ” λͺ¨λ“  λŒ€μƒ

2. μΈμŠ€ν„΄μŠ€(instance)

🎁 문법

new 객체이름

🎈 예제

<script>
var now = new Date();
document.write("ν˜„μž¬ μ‹œκ°μ€ " + now); //ν˜„μž¬ μ‹œκ°μ€ Fri Apr 08 2022 4:00:00 GMT+0900 (ν•œκ΅­ ν‘œμ€€μ‹œ)
</script>

3. ν”„λ‘œνΌν‹°(property)

객체의 νŠΉμ§•μ΄λ‚˜ 속성

🎁 문법

객체이름.ν”„λ‘œνΌν‹°μ΄λ¦„
객체이름["ν”„λ‘œνΌν‹°μ΄λ¦„"]

🎈 예제

<script>
var person = {
	name: "이가뿑",
	age: "21",
	nameage: function () {
		return this.name + this.age;
	}
}
document.write(person.name); //이가뿑
document.write(person["name"]); //이가뿑
</script>

4. λ©”μ†Œλ“œ(method)

κ°μ²΄μ—μ„œ ν•  수 μžˆλŠ” λ™μž‘

🎁 문법

객체이름.λ©”μ†Œλ“œμ΄λ¦„()

🎈 예제

<script>
var person = {
	name: "이가뿑",
	age: "21",
	nameage: function () {
		return this.name + this.age;
	}
}
document.write(person.nameage()); //이가뿑21
document.write(person.nameage); //function () { return this.name + this.age; }
</script>

βœ” κ΄„ν˜Έ(())λ₯Ό 뢙이지 μ•ŠμœΌλ©΄ λ©”μ†Œλ“œκ°€ μ•„λ‹Œ ν”„λ‘œνΌν‹° κ·Έ 자체λ₯Ό μ°Έμ‘°ν•˜κ²Œ λœλ‹€!

πŸ“™ 객체 생성 방법

1. λ¦¬ν„°λŸ΄ ν‘œκΈ°λ₯Ό μ΄μš©ν•œ 방법

각각의 ν”„λ‘œνΌν‹°λŠ” 이름과 값을 콜둠(:)으둜 μ—°κ²°ν•˜κ³ , μ‰Όν‘œ(,)λ₯Ό μ‚¬μš©ν•΄ λ‹€λ₯Έ ν”„λ‘œνΌν‹°μ™€ κ΅¬λΆ„ν•œλ‹€

🎁 문법

var 객체이름 = {
	ν”„λ‘œνΌν‹°1이름: ν”„λ‘œνΌν‹°1μ˜κ°’,
    ν”„λ‘œνΌν‹°2이름: ν”„λ‘œνΌν‹°2μ˜κ°’,
    ...
};

🎈 예제

<script>
var person = {
	name: "이가뿑",
	age: "21",
}
document.write("이름은 " + person.name + "이고, λ‚˜μ΄λŠ” " + person.age + "μ‚΄μž…λ‹ˆλ‹€"); //이름은 이가뿑이고, λ‚˜μ΄λŠ” 21μ‚΄μž…λ‹ˆλ‹€
</script>

2. μƒμ„±μž ν•¨μˆ˜λ₯Ό μ΄μš©ν•œ 방법

new μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ 객체λ₯Ό μƒμ„±ν•˜κ³  μ΄ˆκΈ°ν™”ν•œλ‹€

🎈 예제

<script>
var now = new Date();
document.write("ν˜„μž¬ μ‹œκ°μ€ " + now.toLocaleString()); //ν˜„μž¬ λ‚ μ§œμ™€ μ‹œκ°„ 정보λ₯Ό 둜컬 ν˜•μ‹μœΌλ‘œ λ°”κΏ”μ€€λ‹€
//ν˜„μž¬ μ‹œκ°μ€ 2022. 4. 8. μ˜€ν›„ 4:00:00
</script>

3. Object.create() λ©”μ†Œλ“œλ₯Ό μ΄μš©ν•œ 방법

μ§€μ •λœ ν”„λ‘œν† νƒ€μž… 객체와 ν”„λ‘œνΌν‹°λ₯Ό 가지고 μƒˆλ‘œμš΄ 객체λ₯Ό λ§Œλ“€μ–΄μ€€λ‹€

🎁 문법

Object.create(ν”„λ‘œν† νƒ€μž…κ°μ²΄[, μƒˆλ‘œμš΄κ°μ²΄μ˜ν”„λ‘œνΌν‹°1, μƒˆλ‘œμš΄κ°μ²΄μ˜ν”„λ‘œνΌν‹°2, ...]);

🎈 예제

<script>
var xy = Object.create(null, { //null ν”„λ‘œν† νƒ€μž…μ„ μ‚¬μš©ν•˜μ—¬ μƒˆλ‘œμš΄ 객체λ₯Ό λ§Œλ“ λ‹€
	x: { value: 100, enumerable: true }, //xμ’Œν‘œλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ—΄κ±°ν•  수 μžˆλŠ” ν”„λ‘œνΌν‹° μΆ”κ°€
    y: { value: 200, enumerable: true } //yμ’Œν‘œλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ—΄κ±°ν•  수 μžˆλŠ” ν”„λ‘œνΌν‹° μΆ”κ°€
});
document.write(xy.x); //100
document.write(xy.y); //200
</script>

πŸ“’ ν‘œκΈ°λ²•

1. 점 ν‘œκΈ°λ²•

μΈμŠ€ν„΄μŠ€λͺ… 뒀에 λ§ˆμΉ¨ν‘œ(.)λ₯Ό 뢙이고 객체의 ν”„λ‘œνΌν‹°λ‚˜ λ©”μ†Œλ“œ 이름을 μž‘μ„±ν•œλ‹€

🎁 문법

객체이름.ν”„λ‘œνΌν‹°μ΄λ¦„

🎈 예제

<script>
var obj = {
	'name' : '이가뿑',
	'name-21' : '이가뿑-21'
}

// 점 ν‘œκΈ°λ²•
document.write(obj.name); //이가뿑
document.write(obj.name - 21); //NaN
//μ‹λ³„μž κ·œμΉ™ μœ„λ°˜
</script>

2. κ΄„ν˜Έ ν‘œκΈ°λ²•

🎁 문법

객체이름['ν”„λ‘œνΌν‹°μ΄λ¦„']

🎈 예제

<script>
var obj = {
	'name' : '이가뿑',
	'name-21' : '이가뿑-21'
}

// κ΄„ν˜Έ ν‘œκΈ°λ²•
document.write(obj['name']); //이가뿑
document.write(obj['name-21']); //이가뿑-21
</script>

βœ” κ΄„ν˜Έ ν‘œκΈ°λ²•μ€ 속성을 μ‹λ³„μžλ‚˜ λ³€μˆ˜λ‘œ μ ‘κ·Όν•΄μ•Ό ν•˜λŠ” κ²½μš°μ— μ‚¬μš©ν•˜λ©΄ μ’‹λ‹€!

πŸ“— this ν‚€μ›Œλ“œ

ν•΄λ‹Ή ν‚€μ›Œλ“œκ°€ μ‚¬μš©λœ μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ μ˜μ—­μ„ ν¬ν•¨ν•˜κ³  μžˆλŠ” 객체λ₯Ό 가리킨닀

1. ν•¨μˆ˜ 호좜

🎈 예제

<script>
var win = function () {
	document.write(this);
}
win(); //[object Window]
</script>

βœ” thisλŠ” μ „μ—­ 객체λ₯Ό 가리킨닀

2. λ©”μ†Œλ“œ 호좜

🎈 예제

<script>
var person = {
	name: '이가뿑',
	printName: function () {
		document.write(this.name);
	}
}
person.printName(); //이가뿑
</script>

βœ” thisλŠ” ν•΄λ‹Ή λ©”μ†Œλ“œλ₯Ό μ†Œμœ ν•œ 객체λ₯Ό 가리킨닀

profile
κ°€λΏ‘μ΄μ˜ 곡뢀 μƒμžπŸ“¦

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보