-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[24/09/05-11] 안내 및 질문 모음집 #35
Comments
자바스크립트에는 왜 추상클래스가 없는지, 구현할 수 있는 방법은?(김민석)자바스크립트는 프로토타입 기반 언어로 시작했기 때문에 구현하는 방법: 인터페이스 패턴 정적 메서드를 사용하는 이유와 실제 사례는 무엇이 있는가? (김민정)정적 메서드를 사용하는 주요 이유: 인스턴스 생성 없이 클래스 레벨에서 기능 제공 -> 메모리 효율성 유효성 검사 class Validator {
static isEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
static isPhoneNumber(phone) {
const phoneRegex = /^\d{3}-\d{3}-\d{4}$/;
return phoneRegex.test(phone);
}
}
console.log(Validator.isEmail('[email protected]')); // true
console.log(Validator.isPhoneNumber('123-456-7890')); // true 클래스의 private 필드와 클로저를 사용한 private 변수 구현의 차이점은? (김주영)일반적으로 클래스의 private가 더 명시적인 방법으로 여겨진다. private 필드는 해당 클래스 내에서만 접근 가능(수정이 어려움)하지만 클로저를 활용하면 클로저 내에 정의된 모든 메서드에서 접근할 수 있다(수정이 쉬음). 클로저를 활용한 방식이 좀 더 유연하다. sayHi 클래스 필드에 할당한 화살표 함수의 상위 스코프는 사실 클래스 외부다. 저는 이게 상위스코프가 왜 클래스 외부라는 건 지 잘 모르겠네요. 상위 스코프가 constructor여서 this가 미래에 생성할 인스턴스 인 거 아닌가요? (이성훈)화살표 함수의 스코프는 constructor 내부이지만, this 바인딩은 생성되는 인스턴스를 가리킨다고 해야 합니다. 배열에서 중복요소를 제거하는 방법 중 가장 효율적인 방법은? (김민석)
sort메서드에서 퀵소트를 사용하는 이유? (조천산)JavaScript 엔진마다 구현이 다름 V8 엔진(Chrome, Node.js)은 배열 크기에 따라 다른 알고리즘을 사용 작은 배열(길이 < 10)에는 삽입 정렬 SpiderMonkey(Firefox)는 병합 정렬의 변형을 사용 희소 배열의 개념이 소개되었는데, 실제 개발에서 희소 배열을 사용하는 것이 권장되지 않는 이유는? 메모리 사용과 성능 측면에서 어떤 영향을 미치는지? (김주영)메모리 사용: 이론적으로는 희소 배열이 메모리를 절약할 수 있지만, 실제로는 그렇지 않을 수 있음 자바스크립트 엔진은 희소 배열을 내부적으로 해시 테이블과 유사한 구조로 구현할 수 있어, 오히려 더 많은 메모리를 사용할 수 있음 성능 영향: 요소 접근 속도: |
25장
26장
27장
|
25장자바스크립트에는 왜 추상클래스가 없는지, 구현할 수 있는 방법은? (김민석)자바스크립트는 프로토타입 기반 언어로 시작했고, 클래스 자체가 ES6에서 추가된 문법적 설탕이므로
class AbstractClass {
constructor() {
if (new.target === AbstractClass) {
throw new TypeError("Cannot construct Abstract instances directly");
}
}
abstractMethod() {
throw new Error("Method 'abstractMethod()' must be implemented.");
}
}
정적 메서드를 사용하는 이유와 실제 사례는 무엇이 있는가? (김민정)
실제 사례:
클래스의 private 필드와 클로저를 사용한 private 변수 구현의 차이점은? (김주영)클래스의 private 필드:
클로저를 사용한 private 변수:
26장sayHi 클래스 필드에 할당한 화살표 함수의 상위 스코프는 사실 클래스 외부다. 저는 이게 상위스코프가 왜 클래스 외부라는 건 지 잘 모르겠네요. 상위 스코프가 constructor여서 this가 미래에 생성할 인스턴스 인 거 아닌가요? (이성훈)
"클래스 외부"라는 표현은 클래스가 자체적인 스코프를 만들지 않는다는 의미로 해석할 수 있습니다. 라고 합니다. 27장배열에서 중복요소를 제거하는 방법 중 가장 효율적인 방법은? (김민석)set 메소드를 사용하는 것이 가장 효율적 set 메소드 사용해서 중복 제거 시 장점
sort메서드에서 퀵소트를 사용하는 이유? (조천산)
희소 배열을 사용하지 않는 것이 권장되는 이유 (김주영)메모리 사용
성능 영향
예측 가능성 희소 배열의 동작이 일반 배열과 다를 수 있어 버그의 원인이 될 수 있다. |
25장
26장
27장
|
25장
26장
27장
|
📚 분량
🎤 발표자
조천산
질문
25장
26장
저는 이게 상위스코프가 왜 클래스 외부라는 건 지 잘 모르겠네요.
상위 스코프가 constructor여서 this가 미래에 생성할 인스턴스 인 거 아닌가요? (이성훈)
27장
The text was updated successfully, but these errors were encountered: