목록분류 전체보기 (82)
heyday2024 님의 블로그
ttps://react.dev/ ReactReact is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizatireact.dev- React 공식 홈페이지: "React는 UI 를 만들기위한 라이브러리" React는 라이브러리일까 아님 프레임워크일까??프레임워크?Spring Framework : Java 기반의 웹(백엔드)..
ES6 Modules모듈은 재사용 가능한 코드 조각을 캡슐화하고 다른 자바스크립트 파일에서 쉽게 재사용할 수 있게함. 캡슐화:자바스크립트 모듈은 관련된 함수, 변수, 객체, 클래스 등을 하나의 파일로 그룹화하고, 이를 모듈이라고 함. 이렇게 그룹화를 하게 되면 기능적으로 연관된 코드들을 묶어 관리할 수 있으며, 모듈 외부에서는 내부 구현을 알 필요 없이 제공되는 API를 통해 모듈을 사용할 수 있음!캡슐 안에 중요한 정보와 로직을 넣어 보관! ES6에선 export 라는 키워드를 사용해서 모듈을 만들고, 다른 파일에서 사용할 수 있게함.모듈은 재사용할 수 있는 함수, 객체 또는 원시값을 의미함. 자바스크립트 실행환경: 브라우저 환경 & Node 환경Node 환경에서의 모듈 import 방식은 2가지임!!..
1. Template Literals 변수와 표현식을 문자열 안에 쉽게 삽입할 수 있게 해주는 문법 백틱(`)을 사용하여 문자열을 구성하고, ${변수 이름 혹은 식..} 통해 변수나 표현식을 삽입 let customer = { name: "르탄이" };let item = { name: "커피", price: 4000 };console.log(`감사합니다, ${customer.name}님. ${item.name}을(를) ${item.price}(원)에 구매하셨습니다.`);// 출력: 감사합니다, 르탄이님. 커피을(를) 4000(원)에 구매하셨습니다. 2. Destructuring 객체나 배열의 속성을 보다 쉽게 추출할 수 있게 해주는 문법객체에서의 사용key 가 중요함!! 그래서 순서대로 값을 받는 것이..
변수는 프로그래밍에서 데이터를 저장하고, 그 값을 쉽게 관리하고 재사용할 수있게함.(ex) 사용자로부터 받은 입력을 처리 & 계산 결과를 다시 사용할 때 변수 사용 만약 변수 사용을 하지 않고, 직접 값을 기입해서 사용한다면,코드의 복잡성 증가오류 가능성 증가확장성과 유지 보수성 감소==> 즉, 변수를 이용함으로서 코드의 가독성을 높이고, 적은 변경으로 수정하기 용이함. 또한, 코그의 재사용성을 높임. 변수의 종류 : const, let, var자바스크립트의 주요 스코프 유형: Global. Function, Blocklet과 const는 블록 스코프, var는 함수 스코프 내에서 유효함.let : 재할당 가능, 재선언 불가const: 재할당 재선언 불가var: 재할당 재선언 가능 const, let ..
클로저 (Closure)A closure is the combination of a function and the lexical environment within which that function was declared - MDN(클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합임.) ??? 이게 무슨 말인지 하나씩 해석해보자! 함수가 선언된 렉시컬 환경(record + outer)이란??----> 함수가 선언될 당시의 외부 변수 등의 정보 //클로저const x = 1;function outerFunc() { const x = 10; function innerFunc() { //함수가 선언된 렉시컬 환경 // 렉시컬환경(LE)는 record(식별자 정보), outer(외부 환경 정..
상속(Inheritance)Class는 상속을 통해 다른 Class의 속성과 메소드를 물려받을 수 있음.상속을 통해 기존 클래스의 기능을 그대로 사용하면서 필요한 기능을 추가하거나 수정할 수 있음. 상속을 받는 Class === 'subclass' 또는 'derived class'상속을 하는 Class === 'superclass' 또는 'base class' 오버라이드(Overriding)상속받은 부모 클래스의 메서드를 자식 클래스에서 재정의 하는 것 * 참고로 super 키워드는 부모 클래스의 생성자나 메서드를 호출할 때 사용---> 부모 클래스의 생성자를 override하고 싶을 때 super사용해서 부모 class에게도 알려주기...super로 부모 클래스 생성자 호출하기자식 클래스에서 부모..
1. ClassJavascript에서 왜 class라는 문법(ES6)이 생겼을까?다른 여러 프로그래밍 언어(c#, c++, java...)는 대개 클래스 기반 프로그래밍 개발기법을 사용함(상속, 생성자 등...) 이런 언어들을 사용했던 개발자들이 자바스크립트로 넘어와서 자꾸 클래스 처럼 개발하려고 하다보니까 JS에서도 그 니즈를 반영한 것. 클래스 (Class)클래스는 설계도에 해당하며, 여러 객체를 만들 수 있는 틀.이 설계도에는 객체가 가져야 할 특성(속성)과 행동(메서드)이 정의되어 있음.예를 들어 책상을 만드는 설계도를 보면 어떤 종류의 책상을 만들수 있는지 그리고 그 특징이 무엇인지 알 수 있음. 이런 책상을 만드는 설계도가 클래스임.인스턴스 (Instance)인스턴스는 클래스를 기반으로 만들어..
13장: Scope 모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효범위가 결정되는데, 그 유효범위를 '스코프'라고 함. 스코프는 자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙이라고도 볼 수 있음. (식별자 종류: 변수 이름, 함수 이름, 클래스 이름 등....) identifier resolution(식별자 결정): 자바스크립트 엔진이 어떤 변수를 참조해야할 것인지 결정하는 것.var x ="here";function foo(){ var x = "no here!"; console.log(x); } foo(); console.log(x);여기서 foo를 호출한 부분은 no here!이 출력될 거고, console.log(x)는 here를 출력할 것이다..
DOM (Document Object Model)JS가 생긴 이유: 브라우저에서 동작하게하기 위한 언어로, HTML를 해석해서 웹 페이지를 동적으로 만들기 위해(Netscape에서 당시 인기많던 자바의 이름을 따서 만들었음) 1. 사용자(클라이언트, 브라우저)가 서버에게 요청(request) 함(ex) 크롬을 통해 클라이언트의 역할함 2. 서버로부터 오는 응답 형태가 HTML 문서(document)임. 3. 브라우저가 HTML 파일을 해석함(parsing 파싱)=====> 브라우저에는 기본적으로 렌더링 엔진이 있음. 서버가 클라이언트에게 준 HTML문서를 렌더링(html를 해석/번역해서 화면에 그려주는 것)함.렌더링 엔진이 HTML문서에 코드를 한줄, 한줄 보면서 해석함. 서버로부터 받아 온 그 문서..
객체지향 프로그래밍 --> 함수형 프로그래밍다형성: 하나의 공통된 특성을 기반으로 여러 가지 다른 형태로 확장될 수 있는 성질. 예를 들어, 부모 클래스의 메소드를 자식 클래스에서 재정의하는 방식으로 다양한 형태의 객체가 동일한 메소드를 가질 수 있다.렉시컬 스코프: 함수가 선언된 시점에서 상위 스코프를 결정하는 방식. 실행되는 위치가 아닌, 함수가 선언된 위치에 따라 상위 스코프가 결정된다.this 바인딩: 함수 마다 this 라는 특별한 객체가 있고, 함수 호출이 되었을 때 this 값이 결정되는데, this 값이 결정되는 것을 this 바인딩이라고 한다.프로토타입 (prototype): 객체들이 공통으로 사용할 수 있는 속성이나 메서드를 정의한 공간This란 무엇인가?this 란 어떤 특정 객체를 ..