js
-
Daily Coding 10codeStates front-end/Algorithm 2023. 2. 2. 18:11
📍문제 10( insertDash ) 문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'를 추가한 문자열을 리턴해야 합니다. 📥입력 인자1 : str string 타입의 문자열 📤 출력 String 타입의 문자열 ❗️주의사항 0은 짝수로 간주합니다. 나의 생각 문자열을 입력받아 -> str 연속된 한자리 홀수 숫자 사이에 -> 문자열을 알려면 문자열 한바퀴 돌아야 겠군 for문돌려 너 홀수야? -를 추가한 문자열을 리턴 -> -를 추가한 문자열이니 값을 새로 만들어서 -추가해서 리턴해줘야겠군 대충 폼 let result = str[0]; for(문자열을 다 돌렸을 때){ if(문자열 한자리 전이 짝수고 다음 껏도 짝수면) { 결과는 결과 + "-" } 새로운 문자열은 문자열 더하면서 계속 돌려 } ..
-
Daily Coding 5codeStates front-end/Algorithm 2023. 1. 18. 11:24
📍문제5( firstReverse ) 문자열을 입력받아 순서가 뒤집힌 문자열을 리턴해야 합니다. 📥입력 인자1 : str string 타입의 문자열 📤 출력 string 타입을 리턴 ❗️주의사항 string 타입을 리턴해야 합니다. 나의 생각 문자열을 구분해서 뒤집고 string 타입으로 리턴하면 된다고 생각했다 허나 함수 join: 배열의 모든 요소를 연결해 하나의 문자열로 반환까지 해주어야 순서가 뒤집힌 문자열을 리턴해준다! 나의 코드 function firstReverse(str) { return str.split('').reverse().toStirng(); } 래퍼런스 function firstReverse(str) { return str.split('').reverse().join(''); }
-
[job preparation] 기술 면접2 - 클로져에 대해서 설명해주세요.codeStates front-end/Job Preparation 2023. 1. 17. 14:33
📌기술 면접 tip! 결론은 간단하게, 설명은 구체적으로 자신의 언어로 설명할 수 있어야 함 간명한 정리와 풍부한 설명을 위해서는 지속적인 모의 면접을 통해 기술 설명을 연습하고, 어려운 개념에 대해서 깊게 고민하고 블로그에 기록하는 연습이 필요 기술 면접 준비 🧐 클로져에 대해서 설명해주세요. 👨🏻💼 클로져란, 함수와 그 함수가 선언되었을 때의 렉시컬 환경(lexical environment)과의 조합입니다. 쉽게 말해 함수를 리턴하는 함수입니다. 내부 함수가 외부 함수 안에 선언된 변수에 접근할 수 있고, 내부 함수를 클로져 함수라고 합니다. 클로져의 특징을 활용해 다양한 형태의 함수를 구현할 수 있습니다. 🧐 클로져로 어떤 활용이 가능한가요? 👨🏻💼 클로저는 전역 함수의 사용을 억제하고, 프라이..
-
[JS] 알아두면 쓸모있는 신비한 JS용어사전codeStates front-end/Java Script 2023. 1. 17. 14:14
📖 용어사전 자주 사용하는 용어들을 내 기준 정리하여 정리한 용어사전 은근히 많이 사용되는 문법만 간단하게! 0️⃣ 문자열 split() : 문자열을 일정한 구분자로 잘라서 배열로 저장 1️⃣ 배열 push() : 새로운 값을 추가 pop() : 마지막 요소 제거 sort() : 배열 요소 정렬 - 오름차순 splice() : 배열의 특정 위치에 배열 요소를 추가하거나 삭제 (start(수정할 배열 요소의 인덱스), deleteCount(삭제할 요소 개수, 없음 0), el(배열에 추가될 요소)) slice() : begin부터 end 전까지의 복사본을 새로운 배열 객체로 반환 reverse() : 배열 요소 순서 반전 isArray() : 배열인지 확인 2️⃣ 객체 지향 언어 constructor() ..
-
[JS] chapter18. 포로토타입과 체인codeStates front-end/Java Script 2023. 1. 13. 11:49
📌 프로토타입과 체인 상속 -> 프로토타입 체인 실습 코드 학생과 사람이라는 클래스가 각각 존재한다고 가정 human 객체 구현 let kimcoding = new Human('김코딩', 30); // 속성 kimcoding.age; kimcoding.gender; // 메서드 kimcoding.eat(); kimcoding.sleep(); human의 기본적인 메서드를 상속 let parkhacker = new Student('박해커', 22); // 속성 parkhacker.grade; // 메서드 parkhacker.learn(); 코드설명 박해커 -> student student는 human의 특징을 그대로 물려받게 된다면 박해커의 나이 성별 확인 가능 부모 클래스 -> 자식 클래스로 가는 과정을..
-
[JS] chapter17. 프로토타입과 클래스codeStates front-end/Java Script 2023. 1. 13. 11:38
📌프로토 타입과 클래스 프로토타입 기반 언어 프로토 타입은 원형 객체를 의미 객체의 특성을 다른 객체로 상속하는 것을 가능하게 하는 매커니즘;] __proto__ 특정 객체의 프로토타입 객체에 접근할 수 있는 property es6부터 getPrototypeof 호출 __proto__ 와 .prototype 의 차이 __proto__ 모든 객체가 가지고 있다. 하나의 Link 라고 할 수 있다. prototype 함수 객체만 가지고 있다. 생성자를 가지는 원형으로 선언 할 수 있다. 실습코드 class Human { constructor(name, age) { this.name = name; this.age = age; } sleep() { console.log(`${this.name}은 잠에 들었습니다..
-
[JS] chapter16. 객체 지향 - 객체 지향 프로그래밍codeStates front-end/Java Script 2023. 1. 13. 11:18
📌 객체 지향 언어 초기 프로그래밍 언어 - 절차적 언어 클래스라고 부르는 데이터 모델의 청사진을 사용해 코드 작성 OOP 프로그램 설계 철학 모든 것은 객체로 그룹화 4가지 주요 개념을 통해 재사용성을 얻을 수 있음 oop Basic Concepts Encapsulation(캡슐화) - 단위로 묶는 것, 은닉, 느슨한 결합 -> 복잡을 줄이고 재사용성을 높임 Inheritance(상속) - (중요) 기본 클래스의 특징을 파생 클래스가 상속받는다는 표현 Abstraction(추상화) - 단순하게 만드는 개념 -> 코드 복잡 x Polymorphism(다형성) - 다향한 형태 클래스와 인스턴스 https://hwantech.tistory.com/159 [JS] chapter15. 객체 지향 - 클래스와 인..
-
[JS] chapter15. 객체 지향 - 클래스와 인스턴스codeStates front-end/Java Script 2023. 1. 13. 11:05
📌 클래스와 인스턴스 🧷 객체 지향 프로그래밍 하나의 모델이 되는 청사진을 만들고 그 청사진을 바탕으로 한 객체를 만드는 프로그래밍 패턴 청사진 - class 객체 - instance class - 대문자로 시작하며 일반명사로 만든다 속성과 메소드를 정의 function Car(color) {} // 클래스는 함수 정의 가능 // ES6에서는 class 라는 키워드를 이용해 정의 가능 class Car { constructor(brand, name, color) // 인스턴스가 만들어질 때 실행되는 코드 } instance - 클레스에서 정의한 속성과 메소드를 이용 let avante = new Car('blue') // 각각의 인스턴스는 Car라는 클래스의 고유한 속성과 메소드를 갖는다 let mini..