체인의정석

Class에서 static 사용하기 본문

개발/backend

Class에서 static 사용하기

체인의정석 2022. 11. 2. 18:05
728x90
반응형

고정 값으로 된 데이터를 사용하여 관리하는 상황이다.

https://stackoverflow.com/questions/32647215/declaring-static-constants-in-es6-classes

 

Declaring static constants in ES6 classes?

I want to implement constants in a class, because that's where it makes sense to locate them in the code. So far, I have been implementing the following workaround with static methods: class MyCl...

stackoverflow.com

먼저 기존에 const로 정의된 기본 데이터들이 있었기 때문에 이를 가져와서 하나의 경로에 각각 const로 정의를 해두었다.

 

그 뒤 위의 구조를 사용해서 구조를 짜봤다.

 

일단 여기서는 값이 변하면 안되고 무조건 고정이다.

https://velog.io/@onejaejae/JavaScript-%EB%AC%B8%EB%B2%95-static-%EB%A9%94%EC%86%8C%EB%93%9C-%EB%B0%8F-static-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0

 

JavaScript 문법 - static 메소드 및 static 프로퍼티

앞서 배열 리터럴을 생성하면, 그 배열은 Array라는 생성자 함수로new 연산자와 함께 호출한 결과물과 같다고 살펴보았다. 📝 클래스란?배열 리터럴 부분을 제외한 Array 생성자 함수만 분리해서

velog.io

따라서 class 안에 static 메소드를 사용하였다.

 static 메소드를 사용하면 해당 클래스에 직접 접근해야지만 사용할 수 있다고 한다. (new로 새로운 객체를 생성하여 사용하면 사용이 안된다는 의미)

 

class말고도 함수를 써서 factory Function을 쓸 수도 있다고 한다.

 

class로 정의 할때와 factory function을 사용할 때를 비교해보면

변수가 변하면 안 될 때는 factory function이 더 안전하다고 하지만 메모리 사용량이 많다는 특징이 있다고 한다.

 

그리고 상속 구조 등을 쓰거나 undefined와 같은 안정성 문제를 보면 class가 더 안전하다고 한다. (마치 타입스크립트에 타입이 지정된 느낌인거 같다)

 

그래서 class에다가 static 메소드를 사용하는 식으로 변경이 안되게 만든 상태로 class를 만들면 되지 않을까 싶었다.

https://urbanbase.github.io/dev/2021/03/28/ECMAScript6.html

 

Class vs Factory Function, 더 나은 선택은?

안녕하세요. API 개발팀 이정준 입니다. ECMAScript6 에서 class가 추가되었습니다. Class Function과 Factory Function의 차이를 알아보고, 어떤 Function을 사용할지 생각해 봅시다. 1.기본 사용 방법 기본 사용

urbanbase.github.io

그리고 전역변수 등을 쓰면 데이터 누수가 발생활 확률이 높아서 가급적이면 쓰지 말라고 하고,

메모리 누수를 피하는 팁들과 누수가 무엇인지 정리가 잘된 블로그도 볼 수 있었다.

https://aerocode.net/378

 

자바스크립트 및 NodeJS 메모리 누수 피하기 (+ 메모리 구조, 가비지 컬렉터)

개요 어느 프로그래밍 언어든지 마찬가지겠지만 해당 언어의 내부 메모리 구조 와 가비지 컬렉션 전략 을 이해하지 못하면 해당 언어가 낼 수 있는 최대의 성능을 올바르게 이끌어낼 수 없습니

aerocode.net

 

728x90
반응형
Comments