<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Objects</h2>
<p>An object method is a function definition, stored as a property value.</p>
<p id="demo"></p>
<script>
// 객체
const person = {
firstName:"John",
lastName:"Doe",
fullName:function(){
return this.firstName + " " + this.lastName;
}
};
// 객체 데이터 보여주기
document.getElementById("demo").innerHTML = person.fullName();
</script>
</body>
</html>
this는 객체의 주인을 가리킨다.
위의 코드에서 fullName이라는 프로퍼티의 함수를 보면 this를 쓴 것을 알수 있는데, 여기서 this는 객체 주인을 가리킨다 즉, person이라는 객체를 가리킨다.
fullName:function(){ return this.firstName+ " " + this.lastName; }
근데 , this 함수가 return과 같이 쓰인다면 그 객체가 아니라 return 함수에 들어있는 객체를 신경써야 한다.
다음의 경우 this.name이 undefined로 나왔는데, return 함수에 객체가 하나도 없기 떄문이다
function personFactory(name){
return {
talk(){
return `${this.name} is cute!`;
}
}
}
const pudding = personFactory("pudding");
document.write(pudding.talk());
만약 아래처럼 return 함수에 객체를 써줬다면 this.name이 pudding으로 잘 나온다.
function personFactory(name){
return {
name,
talk(){
return `${this.name} is cute!`;
}
}
}
const pudding = personFactory("pudding");
document.write(pudding.talk());
<script>
let text = "Apple, Banana, Kiwi";
let part = text.slice(7,13);//앞은 포함,뒤는 x
document.getElementById("demo").innerHTML = part;
</script>
banana
<p>Extract a part of a string from position 7:</p>
<p id="demo"></p>
<script>
let text = "Apple, Banana, Kiwi";
let part = text.slice(7); // 7에서 시작한 B부터 프린트한다.
document.getElementById('demo').innerHTML=part;
</script>
Banana, Kiwi
<script>
let text = "Apple, Banana, Kiwi";
let part = text.slice(-12); // 파라메터가 -인 경우 뒤에서 부터 프린트한다.
document.getElementById("demo").innerHTML = part;
</script>
Banana, Kiwi //12번째는 포함하지 않음
<script>
let text = "Apple, Banana, Kiwi";
let part = text.slice(-12,-6);
//뒤에서부터 12번째(12번째는 포함X),뒤에서 6번째 (6번째는 포함 X) 빼주기
document.getElementById("demo").innerHTML = part;
</script>
Banana
-로 된거랑 (a,b)중 b는 그 숫자를 포함시키지 않는다 !
'Development (국비 복습 ) > JavaScript' 카테고리의 다른 글
[Ajax] ajax 기본 (0) | 2023.02.10 |
---|---|
객체 지향 언어에서 인스턴스(Instance)란 무엇일까? (0) | 2023.02.07 |
event.target (0) | 2022.10.01 |
array.forEach() , map() (0) | 2022.09.28 |
The Fisher Yates Method 셔플 알고리즘 (0) | 2022.09.26 |
댓글