var nunu = {
q: "consume",
w: "snowball",
};
var garen = {
q: "strike",
w: "courage",
};
// class는 object 찍어내는 기계 그 이상 그 이하도 아님
// 비슷한 object 뽑아내는 기계일뿐
//옛날엔 class라는 개념이 없어서 function으로 씀
//this가 나온 이상 그냥 함수가 아니라 class가 됌
function 기계() {
// 새로 생성된 인스턴스의 q에 consume을 추가해주시요
this.q = "consume";
// 새로 생성된 인스턴스의 w에 snowball을 추가해주시요
this.w = "snowball";
}
//this는 기계로부터 생성되는 오브젝트들을 뜻한다 => 인스턴스
//기계에서 object를 뽑아내는 방법 'new'
new 기계();
//이렇게 하면 그 자리에 뾰로롱하고 오브젝트가 남는다.
var nunu = new 기계();
console.log("nunu:", nunu);
console.log("nunu:", nunu.q);
콘솔창에 찍어보니
기계 { q: 'consume', w: 'snowball' } 이렇게 나와서 앞에 붙은 '기계'는 뭐지 싶었는데
단순히 누가 생성한 애인지 콘솔창에서 알려주는 거라고 함ㅇㅅㅇ
뜬금 궁금, New 연산자가 모징? 단순히 내가 만들어놓은 함수 실행시키는거라고 생각햇는디....
=> new 연산자는 사용자 정의 객체 타입 또는 내장 객체 타입의 인스턴스를 생성한다.
우리는 같은 옵줵 벨류값을 가진 인스턴스를 뽑아내고 싶은게 아닌
다른 벨류값을 가진 애들을 뽑아내고싶음!!
그럼 아래처럼 해주깅
function 기계(x = "x기본값", y = "y기본값") {
// 새로 생성된 인스턴스의 q에 consume을 추가해주시요
this.q = x;
// 새로 생성된 인스턴스의 w에 snowball을 추가해주시요
this.w = y;
}
//this는 기계로부터 생성되는 오브젝트들을 뜻한다 => 인스턴스
//기계에서 object를 뽑아내는 방법 'new'
new 기계();
//이렇게 하면 그 자리에 뾰로롱하고 오브젝트가 남는다.
var nunu = new 기계();
console.log("nunu:", nunu);
console.log("nunu:", nunu.q);
var garen = new 기계("가렌q스킬", "가렌w스킬");
console.log("garen", garen);
만약, 값이 안들어오면 내가 설정한 값으로 셋팅해줘라~~
=> js의 '기본값 매개변수' 개념
'📙 자바스크립트 공부' 카테고리의 다른 글
&& 연산자로 undefined/null 걸러내기 (타입스크립트에서 응용) (0) | 2023.01.18 |
---|---|
[js] 프로토타입이란? / 프로토타입 체인 (0) | 2023.01.15 |
[js] async와 await 제대로 알고 있었늬!? (0) | 2023.01.02 |
리액트는 왜 쓰며, 리액트와 vue와 angular의 차이 (0) | 2022.12.20 |
구조분해할당과 Named export와 default export의 차이 (0) | 2022.12.20 |
댓글