JS 기능을 정말로 이해하고 있습니까? (1 부)
5692 단어 webdevcodenewbiereactjavascript
JS에서 Function, Method 및 생성자 호출의 차이점은 무엇입니까?
OOP를 사용하는 다른 언어에서 우리는 함수, 메서드, 클래스 생성자 또는 세 가지 다른 것을 알고 있지만 JavaScript에서는 함수라는 단일 구조의 다른 패턴일 뿐입니다.
기능
function serverListen(port){
return `The server is listening at ${port}`;
}```
## Methods
Meanwhile, methods in JavaScript are just functions that happen to be object properties.
```javascript
const server = {
startServer: function(){
try{
serverConnexion(this.databaseName, this.serverPort);
console.log(`The server has started listening on port: ${serverPort}`);
}catch(error){
throw new Error(error);
}
},
databaseName: "auth_db",
serverPort: 4937,
};
server.startServer(); // The server has started listening on port: 4937
자바스크립트
하지만 메서드가 아닌 함수에서 this 키워드를 사용하는 것은 전역 개체(또는 창 개체)를 참조하기 때문에 대부분 불필요합니다.
function runServer(){
return `The server is listening on port: ${this.serverPort}`
}
console.log(runServer()); // The server is listening on port: undefined
전역 객체에
serverPort
속성이 없으므로 undefined
로 설정됩니다.이러한 종류의 실수를 신속하게 포착하기 위한 좋은 방법은
this
~ undefined
의 기본 바인딩을 설정하는 ES15의 엄격 모드를 사용하는 것입니다.
function runServer(){
"use strict"; // 👈
return `The server is listening at port: ${this.serverPort}`
}
console.log(runServer()); // error: cannot read property "serverPort" of undefined
생성자
함수와 달리 생성자는 다음 값으로 완전히 새로운 개체를 전달합니다.
function UserData(password, email){
this.password = password;
this.email = email;
}
const user = new UserData("@#*&*87*#IOI*&^", "[email protected]");
user.email; // [email protected]
생성자 호출의 주요 목표는 새 객체를 반환할 수 있는 new 키워드를 사용하여 객체를 초기화하는 것입니다.
여기까지 읽어주셔서 감사합니다! 🎉🎉🎉
다가오는 에피소드를 읽고 싶다면 저를 팔로우하는 것을 잊지 마세요 😉
Reference
이 문제에 관하여(JS 기능을 정말로 이해하고 있습니까? (1 부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/jrmatanda/do-you-really-understand-js-functions-part-1-4g0k
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(JS 기능을 정말로 이해하고 있습니까? (1 부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jrmatanda/do-you-really-understand-js-functions-part-1-4g0k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)