작성
·
345
0
안녕하세요 강의 정말 잘 보고 있습니다,
제가 강의를 보던중 프로토타입에 만들어지는
함수를 화상표 함수로 사용했더니 생산자에서 만들어진
변수를 이용 못하더라구요 원래 화살표 함수를 사용
하면 안돼는 건가요?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
</style>
</head>
<body>
<h1>object</h1>
<script>
(() => {
function Constructor(nickname,age) {
this.name = nickname;
this.age = age;
console.log(this.name);
}
Constructor.prototype.init = () => {
console.log(this.name);
}
const con1 = new Constructor('asdf',18);
con1.init();
})();
</script>
</body>
</html>
답변 2
1
화살표 함수 내부의 this가 가리키는 객체가, 일반 function 형태의 함수랑 달라서 생기는 문제입니다.
아래 링크에 아주 자세히 정리가 잘 되어있는데요, 4. 화살표 함수를 사용해서는 안되는 경우 파트를 읽어보시면 좋을 것 같습니다 :)
https://poiemaweb.com/es6-arrow-function#4-%ED%99%94%EC%82%B4%ED%91%9C-%ED%95%A8%EC%88%98%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%84%9C%EB%8A%94-%EC%95%88%EB%90%98%EB%8A%94-%EA%B2%BD%EC%9A%B0
0