드림오구
article thumbnail
🌊 [javascript] 프로토타입 체인
🐣 STUDY/Java Script 2023. 3. 16. 11:29

🌊 프로토타입 체인 : 자바스크립트 엔진의 특성상 객체의 프로퍼티에 접근할 때 해당 객체에 프로퍼티가 없으면 부모 역할을 하는 프로퍼토타입을 순차적으로 탐색한다. __proto__ : 모든 객체는 __proto__ 접근자 프로퍼티를 통해 자신의 프로토타입, 즉 [[Prototype]] 내부 슬롯에 간접적으로 접근할 수 있다. __proto__ 접근자 프로퍼티는 상속을 통해 사용된다. __proto__ 접근자 프로퍼티를 통해 프로토타입을 접근하는 이유는 상호 참조에 의해 프로토타입 체인이 생성되는 것을 방지하기 위해서다. (프로토타입 체인은 단방향으로 구현되어야한다) 모든 객체가 __proto__접근자를 사용할 수 있는 것이 아니기 때문에 __proto__ 접근자 프로퍼티를 코드 내에서 직접 사용하는 것은..

article thumbnail
🌊 [javascript] 배열 고차함수
🐣 STUDY/Java Script 2023. 3. 15. 21:11

🌊 배열 고차 함수 💡 고차함수란? 함수를 인수로 전달받거나 함수를 반환하는 함수를 말한다. 외부 상태의 변경이나 가변 데이터를 피하고 불변성을 지향하는 함수형 프로그래밍에 기반을 둔다. 함수형 프로그래밍은 순수 함수를 통해 부수 효과를 최대한 억제하여 오류를 피하고 프로그램의 안정성을 높이려는 노력의 일환이라고 할 수 있다. Array.prototype.sort (원본 배열 직접 변경) : 배열의 요소를 정렬한다. (기본적으로 오름차순) const jobs = ['teacher', 'programmer', 'engineer', 'singer', 'pilot']; jobs.sort(); console.log(jobs) // ['engineer', 'pilot', 'programmer', 'singer',..

article thumbnail
🌊 [javascript] 객체 지향 프로그래밍
🐣 STUDY/Java Script 2023. 3. 15. 14:13

🌊 객체 지향 프로그래밍 객체 지향 vs 절차 지향 객체 지향 (OOP) 절차 지향 (PP) 특징 캡슐화, 상속, 다형성, 추상화 순차적인 처리를 중요시되며, 프로그램 전체가 유기적으로 연결되도록 함 장점 재사용성, 생산성 향상, 자연적인 모델링, 유지보수의 우수성 빠른 실행 속도 단점 느린 개발 속도, 느린 실행 속도, 높은 난이도 유지보수의 어려움, 비효율적 언어 JAVA, Objective-C, Swift, C++, Python, etc. FORTRAN, C 자바스크립트는 객체 지향 언어는 아니지만, 객체 지향 패턴으로 작성할 수 있다. 객체 지향 프로그래밍 (Object Oriented Programming) 사람이 세계를 보고 이해하는 방법을 흉내 낸 방법론 OOP는 프로그램 설계 철학이다. O..

article thumbnail
🌊 [javascript] 클래스와 인스턴스
🐣 STUDY/Java Script 2023. 3. 15. 12:28

🌊 클래스와 인스턴스 객체지향 프로그래밍 하나의 모델이 되는 청사진을 만들고 → class 그 청사진을 바탕으로 한 객체를 만드는 → instance 프로그래밍 패턴 // class function Fishbread(ingredients) {} // instance let shouboong = new Fishbread('puff'); let redbeanboong = new Fishbread('redbean'); 새로운 인스턴스를 생성할 때 new 키워드를 사용하여 만든다. ES5와 ES6의 생성자 함수 생성자 함수는 return 값을 만들지 않는다. 최근에는 ES6 방식을 주로 사용한다. // 💡 ES5 function Fishbread(ingredient, time){ // 인스턴스가 만들어질 때 실..

article thumbnail
[코드스테이츠/21DAY] S2U1 - [JavaScript] 고차 함수
🐹 TIL/Daily 2023. 3. 14. 20:50

🌊 TIL : 2023년 3월 14일 : 오늘 section2의 첫 날! 오늘 어제 풀었던 프로그래머스 문제에 나왔던 배열 메서드를 배워서 문제 풀기가 수월하였다. 오늘 배운 것 : [JavaScript] 고차 함수 일급 객체 특징 변수에 할당할 수 있다 다른 함수의 전달인자로 전달될 수 있다. 다른 함수의 결과로서 반환될 수 있다. 고차 함수 : 고차 함수는 함수를 전달인자로 받을 수 있고, 함수를 반환할 수 있는 함수이다. 다른 함수의 전달인자로 전달되는 함수를 콜백함수라고 한다. 다른 함수를 인자로 받는 경우 함수를 리턴하는 경우 함수를 인자로 받고 함수를 리턴하는 경우 내장 고차 함수 filter 메서드 특정 조건을 만족하는 요소만 걸러낸다. 내부 조건에 따라 참 또는 거짓을 반환한다. 반환값이 ..

article thumbnail
🌊 [javascript] LocalStorage
🐣 STUDY/Java Script 2023. 3. 12. 21:56

🌊 Local Storage : localStrage는 웹 스토리지 객체로 브라우저 내 키-값 쌍으로 저장하도록 도와준다. localStorage에 저장한 자료는 페이지 프로토콜별로 구분된다. LocalStroage를 사용하면 페이지를 새로고침하거나 브라우저를 껐다 켜도 데이터가 사라지지 않고 남아있다. 사용법 myStorage = window.localStorage; setItem(key, value) : 키에 데이터 추가 getItem(key) : 키로부터 데이터 읽기 removeItem(key) : 키의 데이터 삭제 clear() : 키 전체 삭제 setItem(key, value) localStorage.setItem('datalist', data); localStroage는 value값을 문자열..

article thumbnail
🌊 [javascript] 타입 변환과 단축 평가
🐣 STUDY/Java Script 2023. 3. 11. 21:58

🌊 [javascript] 타입 변환과 단축 평가 타입 변환과 단축 평가 🌊 타입 변환이란? 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 JS엔진 velog.io 타입 변환과 단축 평가 🌊 타입 변환이란? 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 JS엔진에 의해 암묵적으로 타입이 변환 되는 것을 암묵적 타입 변환 또는 타입 강제 변환 이라 한다. // 명시적 타입변환 let x = 10; let str = x.toString(); console.log(typeof str, str); // string 10 // 암묵적 타입 ..

article thumbnail
🌊 [javascript] 스코프
🐣 STUDY/Java Script 2023. 3. 11. 21:52

🌊 [javascript] 스코프스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념.자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있다.스코프는 velog.io스코프🌊 스코프란?스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념.자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있다.스코프는 변수 그리고 함수와 깊은 관련이 있다.모든 식별자 (변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정 된다.즉, 스코프란 식별자가 유효한 범위 파일과 폴더로 예시를 들면 구분하기 편하다.test라는 파일은 같은 폴더 내에선 1개만 존재할 수 있지만 폴더를 이..