본문 바로가기

JavaScript37

[SCSS] 온보딩 3주 2일차 - SCSS 설치 및 사용해 보기 🦄 온보딩 3주 2일차 - SCSS 설치 및 사용해 보기 ✨03/21 : 목표 : SCSS 설치 및 기본 문법 익히기 온보딩 스터디 2일차, 제공된 CSS 강의가 아무런 의미가 없는 강의인 것 같아 원래 이번 주 목표였던 SCSS에 대해 공부하기로 했다. 오늘은 공식문서를 참고하여 설치 및 기본 문법을 좀 익혀보고 연습도 할겸 앞으로는 항상 SCSS를 사용해 프로젝트를 진행해 보려고 한다. 📒SCSS 설치 및 경험해 보기 00 SCSS란 무엇인가? 1. SASS : Syntactically Awesome Style Sheets - 문법적으로 어썸한 스타일시트 2. SCSS : Sassy CSS - 문법적으로 Sassy한 멋진(Sassy) CSS Sass는 CSS의 단점을 보정하기 위한 CSS의 확장으로 .. 2023. 3. 21.
[JavaScript] 깊은 복사(Shllow copy), 얕은 복사(Deep copy) 🙌 깊은복사, 얕은 복사 얕은 복사는 객체의 참조값(주소 값)을 복사하고, 깊은 복사는 객체의 실제 값을 복사한다. 1. Primitive 타입 : 깊은 복사 : 원시값은 값을 복사 할 때 복사된 값을 다른 메모리에 할당 하기 때문에 원래의 값과 복사된 값이 서로에게 영향을 미치지 않는다 let a = 2; let b = a; console.log(b); //2 b = 5; console.log(a); //2 console.log(b); //5 => primitive타입은 서로 영향을 미치지 않는다. 2. Object 타입 : 얕은 복사 : 참조값은 변수가 객체의 주소를 가리키는 값이기 때문에 참조값(주소)를 복사하여 같은 값을 가리킨다. 따라서 한쪽의 값을 변경 할 경우, 같은 참조값이기 때문에 양쪽 .. 2023. 2. 23.
[Deep Dive] 프로그래밍과 자바스크립트의 기본 개념 모던 자바스크립트 Deep Dive 요약 빨리 가는 유일한 방법은 제대로 가는 것이다. - 로버트 C. 마틴(Robert C. Martin), “클린 코드”의 저자 프로그래밍이란 무엇인가 (1) 프로그래밍 0과 1밖에 알지 못하는 기계가 실행할 수 있는 정도로 정확하고 상세하게 요구사항을 설명하는 작업이다. 해결 과제를 컴퓨터의 관점으로 사고(Computational thinking)해야 한다. 이에는 논리적, 수학적 사고가 필요하게 되며 해결 과제를 작은 단위로 분해하고 패턴화하여 추출하며 프로그래밍 내에서 사용될 모든 개념은 평가 가능하도록 정의되어야 한다. (2) 프로그래밍 언어 명령을 수행할 주체는 컴퓨터이다. 따라서 인간이 이해할 수 있는 자연어가 아니라 컴퓨터가 이해할 수 있는 언어, 즉 기계.. 2023. 2. 20.
[JavaScript] 객체의 프로퍼티(property) 접근 방법, 속성과 메소드 차이 🙌객체(Object) - 자바스크립트는 객체(object) 기반의 스크립트 언어이며 자바스크립트를 이루고 있는 거의 “모든 것”이 객체이다. 원시 타입(Primitives)을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이다. 속성(property)과 메소드(method)의 차이 - 자바스크립트의 객체는 키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합이다. 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다. 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다. 따라서 프로퍼티 값으로 함수를 사용할 수도 있으며 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드(객체에 제한되어 있는 함수)라 부른다. - 객체는 데이.. 2023. 2. 12.
[TypeScript] props으로 받은 함수의 타입 지정하기 ✨props으로 받은 함수의 타입 지정하기 타입스크립트를 아무것도 모른 상태로 처음 사용하면서, 타입을 지정하는데에 어려움이 있었다. 예를들어 다음과 같이 일반적으로 타입을 명확하게 지정하기 쉬운 string, number, boolean 등은 타입을 지정할 때 크게 고민이 필요하지 않았지만, interface ICheckBoxProps { label?: string; placeholder: string; type?: 'email' | 'password' | 'text' | 'number'; autoComplete?: string; setValue: React.Dispatch; required?: boolean; maxLength?: number; inputRegexCheck?: ? } props으로 함.. 2022. 12. 1.
[TypeScript] React.KeyboardEventHandler<HTMLInputElement> 에서 event.target.value 에러 ❗타입스크립트 React.KeyboardEventHandler 에서 event.target.vale 사용시 에러 이슈 1. 타입스크립트를 처음 사용하면서, onKeyup 이벤트를 전달 시 발생한 에러 이슈이다. 이렇게 Input에서 onKeyUp 이벤트를 발생시켜 이벤트를 전달하면 2. 타입스크립트에서 타입을 명시해 주어야 한다. 마우스 hover 시 참고되어있는 이벤트 타입인 React.KeyboardEventHandler으로 지정해 주었더니 event.target.value에서 에러가 발생했다. 이유는 타입스크립트에서 KeyboardEvent에 target 속성은 정의 되어있지 않기 때문인 것 같다. index.d.ts에서 확인해 보면 target속성이 정의되어있지 않다. interface Keybo.. 2022. 12. 1.