[[Prototype]] 프로토타입 자바스크립트의 객체는 [[Prototype]] 이라는 숨김 프로퍼티를 갖는다 이 숨김 프로퍼티 값은 null이거나 다른 객체에 참조가되는데 여기서 다른객체를 참조하는 경우 참조 대상을 프로토타입이라고 부른다 프로토타입은 프로퍼티를 읽을때만 사용한다 모든 객체는 자신의 부모역할을 하는 프로토타입객체의 참조 링크를 가지고 있다 링크를 통해 프로토타입으로부터 프로퍼티나 메서드를 상속받을 수 있다 ! 프로토타입 체인 상위 프로토타입과 연쇄적으로 연결된 구조 프로토타입 체이닝 프로퍼티나 메서드에 접근하기 위해 이 연결구조를 따라 차례대로 검색하는 것 제약사항 1. 순환참조(circular reference) 허용 안됨 프로토타입 이용해 닫힌형태로 다른 객체 참조시 에러발생 2...
함수선언문 함수이름(식별자), 매개변수,몸체로 구성 함수 이름이 반드시 정의 호이스팅으로 함수가 선언된 위치에서 코드를 최상단으로 끌어올려짐 function hello (a,b){ return a*b; } 함수표현식 함수의 이름이 선택사항 익명함수 함수를 할당한 변수를 사용하여 호출 const hello = function(a,b) { retuen a*b; } //hello는 함수가 아니라 변수 ! 기명함수 기명함수 표현식에서 사용된 함수이름은 외부에서 접근 불가 외부에서 함수표현식 호출시 반드시 함수를 할당한 변수 사용 할 것 ! const hello = function hi (a,b) { return a*b } console.log(hello(1,2)); //2 console.log(hi(1,2));..
기초부터 완성까지 프런트엔드 훑는중 이해되지않는 것 따로 정리 프로퍼티 getter와 setter 언제 사용하나요? 어떤 프로퍼티에 접근할때 동적인 계산이 필요하거나 프로퍼티 값이 변경될때마다 별도의 처리 코드가 필요하다면? getter,setter 접근자 프로퍼티를 사용해 일반프로퍼티처럼 사용가능 접근자 프로퍼티의 값에 접근하면 getter메서드가 호출 되며 이 메서드의 반환값이 접근표현식의 결괏값 접근자 프로퍼티의 값을 변경하려고 하면 settet 메서드 호출 접근자 프로퍼티란 ? 접근자 프로퍼티 (accessor property)라 불리는 새로운 종류의 프로퍼티 접근자 프로퍼티의 본질은 함수. 이 함수는 값을 획득하고(get)하고 설정(set)하는 역할을 담당 getter와 setter 메서드로 표..
컴포넌트 react 컴포넌트를 사용하면 UI를 독립적이고 재사용할 수 있는 부분으로 나누고 각 부분을 분리하여 생각할 수 있다 ! 리액트 컴포넌트는 react.component react.purecomponent로 나누어 정의 함 ! React.component ES6 class를 사용해 리액트 컴포넌트를 정의할 때에 기초가 되는 class React.PureComponent react.component와 비슷 react.component는 shouldComponentupdate()를 구현하지않지만 react.purecomponent는 props와 state를 이용한 얕게 비교를 구현한다는 차이점만이 존재 shouldComponentupdate() 현재 state또는 props의 변화가 컴포넌트의 출력결..
클래스형 class Hello extends Reacr.Component { render() { return hello {this.props.name}; } } //rcc 단축키 React.Component 클래스를 상속 데이터는 this.state에 render() 함수에 HTML과 같은 JSX문법을 이용해서 데이터 UI로 표기 함수형 function Hello () { return hello, {props.name}; } //rsi 단축키
상속 부모요소의 프로퍼티를 상속받고싶다면 명시적으로 inherit 값 지정 - 자식까지 상속되는 프로퍼티 . . . - 상속되지않는 프로퍼티 width, height, margin, display, border 선택자 *: "*" 와일드 카드라 불림, 전체선택자를 사용하면 페이지에 해당하는 모든 요소에 영향 타입선택자: HTML요소 이름을 선택자로 사용 id선택자: id속성에 지정한 값을 이용해 스타일 지정, id앞에 '#'을 붙여 작성 페이지당 하나만 가지는 단일값으로 정확하게 일치하는 단일요소에만 지정하고 싶을때 사용 class선택자: 요소에 스타일을 지정하는 가장 일반적인 방법, class앞에 '.'을 붙여 작성 여러요소에 값은 class값을 지정해 동일한 스타일 지정할 수 있음 속성(attribu..
HTML구성요소 starttag endtag 요소의 시작과 끝을 의미하는 태그 으로 구성되면 endtag의 경우 Void 요소 , , , 처럼 endtag가 없는 태그들이 존재함 endtag를 작성하지않아도 일반요소처럼 작동 ! self colsing : 형태로 작성해도 된다 Element Content Element: starttag, endtag, content를 모두 합친 하나를 의미 content: starttag와 endtag사이의 내용을 의미 Attributes 속성 태그의 동작을 제어하도록 사용자가 지어하는 값을 의미 HTML 요소분류 inline 인라인요소 태그가 할당된 텍스트나 이미즈이 크기에 맞는 필요한 공간만을 차지 높이나 너비를 지정할 수 없으며 줄 내부 어디서든 시작함 인라인 요소..
import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( ); reportWebVitals();
자바스크립트 안에 내장되어있는 오브젝트 비동기적인 것을 수행 할 때 콜백 대신 유용하게 사용 state 상태 pending-> fulfilled or rejected producer producer 프로미스는 클래스 새로운 프로미스가 만들어질 때 전달한 excutor 바로 실행됨 const promise = new Promise((resolve, reject) => { setTimeout(() => { resolve('bomi'); },2000); }); resolve 기능을 정상적으로 수행해서 마지막으로 최종데이터를 전달 reject 기능을 수행하다 중간에 문제가 생기면 호출 consumer: then, catch, finally finally 성공과 실패를 떠나 무조건 호출 됨 promise.then..