본문 바로가기

전체 글171

[ JavaScript ] 문자열에서 공백 있는지 확인하기 우테코 프리코스 과제를 진행하고 있다. 그 과정에서 input의 유효성을 검사하는 함수를 만드는데 해당 input이 공백을 포함하고 있는지를 확인하는 걸 만드려고 한다. 제거까지해도 되고. 첫 번째 시도로 trim()을 써서 공백이 있든 없든 그냥 읽단 없애버리면 되지 않을까 생각했는데, trim은 문자열 앞과 끝의 공백만 제거가 가능했다. 공백이 사이에 있으니까 에러가 떴다. 두 번째는, 정규표현식과 includes메서드를 사용해보려고 한다. (includes 는 Array 와 String 둘 다 있다.) 결과가 예상치 못하게 나왔다. 에러 메세지가 정규표현식은 안된다고 하니 그냥 공백을 넣어보자. 'hel lo'.includes(' ') //true 음 잘 나온다. 이렇게 쓰면 될 것 같다. 바로 블.. 2023. 11. 4.
상수 대문자 처리할 때 어떤 기준으로 나눠야할까? (feat. 매직 넘버) 이번에 우아한테크코스 프리코스 과제를 해 나가면서, 요구사항 중에 에어비앤비 스타일 가이드를 따르라는 사항이 있어서 그에 맞게 하려고 하는 중이다. 근데, 코드리뷰를 받고 하면서 뭔가 관점에 따라 구분하는 기준이 다른 것 같아서 어떻게 해야할 지 고민이 되었다. 의문이었던 부분이 바로 여기인데, 상수를 대문자화하는 경우에 대해서 말하고 있다. (1) export 되는 경우 (2) `const`로 선언된 경우(재할당이 불가능하다) (3) 프로그래머가 그 값이(중첩된 속성까지도) 절대 바뀔 일 없다고 확신하는 경우 그리고 가능한 의문들에 대해서도 답을 하고 있다. Q) 모든 `const` 를 다 대문자화 해야할까? A) 불필요하다. export 되는 애들을 하면 된다. Q) export 되는 객체들은 어떻게.. 2023. 11. 4.
[ Git ]git init 취소하기 rm -r .git 2023. 11. 3.
[ JavaScript ] static (feat. 클래스) 정적 메서드 static method 란? prototype이 아닌 클래스 함수 자체의 메서드를 말한다. 정적 메서드는 클래스의 인스턴스 없이 호출이 가능하며 클래스가 인스턴스화되면 호출할 수 없다. 정적 메서드는 종종 어플리케이션의 유틸리티 함수를 만드는데 사용된다. 정적 메서드의 호출 다른 정적 메서드의 호출 동일한 클래스 내의 다른 정적 메서드 내에서 정적 메서드를 호출하는 경우, 키워드 this 를 사용할 수 있다. class StaticMethodCall { static staticMethod() { return "Static method has been called"; } static anotherStaticMethod() { return this.staticMethod() + " from a.. 2023. 11. 3.
Airbnb JavaScript 스타일 가이드 - 3. 객체 Objects 3-1. 객체를 생성할 때는 리터럴 문법 사용하기 eslint : no-new-object 3-2. 동적 속성을 갖는 객체를 생성할 때는 속성 계산명을 사용하기 - 객체의 모든 속성을 한 곳에서 정의하기 위해 function getKey(k) { return `a key named ${k}`; } // bad const obj = { id: 5, name: 'San Francisco', }; obj[getKey('enabled')] = true; // good const obj = { id: 5, name: 'San Francisco', [getKey('enabled')]: true, }; 3-3 , 3-4.메서드 단축구문 사용하기 eslint : object-shorthand // bad const a.. 2023. 11. 3.
[ JavaScript ] 현재 시간 가져오기 (feat. Date) var date = new Date(); date.getTime() +new Date() Date.now() 참조 https://javascript.plainenglish.io/some-simple-and-amazing-javascript-tricks-292e1962b1f6 2023. 11. 2.