LeeWang_31
이왕31
LeeWang_31
전체 방문자
오늘
어제
  • 분류 전체보기 (234)
    • 프로젝트 (2)
      • 사이드 프로젝트 (2)
      • Codestates_pre_project (0)
    • 프론트엔드 (169)
      • Html (19)
      • CSS (18)
      • JavaScript (29)
      • Codestates (76)
      • 코딩노트 (27)
    • 백엔드 (10)
      • node (10)
    • 구르는 돌 🌑 (16)
      • Codestates (11)
      • 생각 (4)
      • 공부 흔적 (1)
    • 정보 (18)
      • 오류노트 (2)
      • 인텔리제이 정보 (9)
      • 깃 정보 (3)
      • 기타 정보 (4)
      • 안드로이드스튜디오 정보 (0)
    • CS (7)
      • 이론공부 (7)
    • App (6)
      • Android (3)
      • Kotlin (3)
    • 컴퓨터 수학 (5)
      • 암호론 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • UI/UX
  • 생활코딩
  • 사이드프로젝트
  • 코딩애플
  • 2693
  • 백준
  • JavaScript
  • 2609
  • ubuntu
  • linuix 코드스테이츠
  • 사용자 친화 웹
  • DP
  • html
  • 1292
  • 알고리즘
  • linux
  • 사용자친화웹
  • React
  • 안드로이드스튜디오범블비
  • figjam
  • TODOlist
  • 파이어베이스연동
  • 번들링
  • 코플릿
  • 코드스테이츠
  • css
  • codestate
  • 웹팩
  • 자바스크립트
  • 안드로이드스튜디오파이어베이스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
LeeWang_31

이왕31

생활코딩 자바스크립트 기본 - 객체지향 | 생성자와 new
프론트엔드/JavaScript

생활코딩 자바스크립트 기본 - 객체지향 | 생성자와 new

2022. 8. 30. 19:01

본 게시글은 인프런 강의 "생활코딩 - 자바스크립트(JavaScript) 기본"를 보고 공부한 내용을 정리하고 있습니다.

https://www.inflearn.com/course/%EC%A7%80%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%96%B8%EC%96%B4-%EA%B8%B0%EB%B3%B8/dashboard

 

[무료] 생활코딩 - 자바스크립트(JavaScript) 기본 - 인프런 | 강의

생활코딩의 자바스크립트 언어 기본 수업입니다. 기본 문법을 통한 자바스크립트 기본에 대해 배울 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com


 

객체

객체란 서로 연관된 변수와 함수를 그룹핑한 그릇이라고 할 수 있다.

person이라는 변수에 이름값과 이름값 통해 인사말을 하는 함수를 넣어 객체를 만들어보자

    let person = {}    <!-- 비어있는 변수 생성-->
    person.name = '이왕';
    person.introduce = function () {
        return `안녕하세요! ${this.name}입니다.`;
    }
    document.write(person.introduce());
    let person = {
        'name' : '이왕',
        'introduce' : function () {
            return `안녕하세요! ${this.name}입니다.`;
        }
    }
    document.write(person.introduce());

다음과 같이 가능합니다.

생성자

생성자는 객체를 만드는 역할을 하는 함수이다.
자바스크립트에서 함수는 재사용 가능한 로직의 묶음이 아니라 객체를 만드는 창조자라 할수 있다.

위 코드를 사용해서 '이왕'이라는 사람과 '김쏘'라는 사람이 있을때, 객체를 만들어 보자

    let p1 = {
        'name' : '이왕',
        'introduce' : function () {
            return `안녕하세요! ${this.name}입니다.`;
        }
    }
    document.write(p1.introduce());
    let p2 = {
        'name' : '김쏘',
        'introduce' : function () {
            return `안녕하세요! ${this.name}입니다.`;
        }
    }
    document.write(p2.introduce());

생성자를 이용해서 만들어보자
함수를 호출할 때 new를 붙이면 새로운 객체를 만든후 이를 리턴한다.

    function Person(){};
    let p1 = new Person() ;
         p1.name= '이왕';
        p1.introduce =function() {
            return `안녕하세요! ${this.name}입니다.`;

    }
    document.write(p1.introduce());

    let p2 = new Person() ;
    p2.name= ' 김쏘';
    p2.introduce =function() {
        return `안녕하세요! ${this.name}입니다.`;

    }
    document.write(p2.introduce());

이름을 입력하는것 빼고는 전부 중복이다.

function Person에 name value가 들어가면 return을 인사말로 하는 코드를 작성하면 더 간결하고 깔끔해질것 같다.

    function Person(name){
        this.name = name;
        this.introduce = function (){
            return `안녕하세요! ${this.name}입니다.`;
        }
    };
    let p1 = new Person('이왕') ;
    document.write(p1.introduce());

    let p2 = new Person('김쏘') ;
    document.write(p2.introduce());

일반함수와 차이를 주기 위해 생성자 함수의 첫글자는 대문자로 한다.

저작자표시 (새창열림)

'프론트엔드 > JavaScript' 카테고리의 다른 글

Javascript - 구조분해 할당 예제  (0) 2022.11.17
생활코딩 자바스크립트 기본 - 객체지향 | 전역객체  (0) 2022.08.30
생활코딩 자바스크립트 기본 - 함수지향(함수의 호출)  (0) 2022.08.03
생활코딩 자바스크립트 기본 - 함수지향 (arguments)  (0) 2022.08.03
생활코딩 자바스크립트 기본 - 함수지향(클로저)  (0) 2022.08.02
    '프론트엔드/JavaScript' 카테고리의 다른 글
    • Javascript - 구조분해 할당 예제
    • 생활코딩 자바스크립트 기본 - 객체지향 | 전역객체
    • 생활코딩 자바스크립트 기본 - 함수지향(함수의 호출)
    • 생활코딩 자바스크립트 기본 - 함수지향 (arguments)
    LeeWang_31
    LeeWang_31
    이왕 할 거면 기분 좋게

    티스토리툴바