전체 글 135

[SCSS] SCSS 리스트(List)

리스트(List)SCSS 고유의 데이터 타입 중 하나로 여러 값을 하나로 묶어놓은 컬렉션 데이터 타입CSS 속성값 중 여러 값이 들어가는 경우(margin: 10px 20px 30px;)와 비슷한 개념배열과 비슷하지만 SCSS 문법에서는 쉼표(,) 또는 공백( )로 값을 구분할 수 있음순서가 중요하며, 인덱스를 통해 특정 값을 참조할 수 있음 리스트 타입리스트 타입구분자특징쉼표 리스트,- 값들을 명확히 구분- 함수 인자로 주로 사용- CSS에서 그대로 쓰면 쉼표가 유지됨(예: box-shadow: 1px 1px red, 2px 2px blue;)공백 리스트공백- 공백으로 구분 - 주로 CSS 속성 값처럼 사용 가능- CSS에서 쓰면 공백으로 이어진 값처럼 나옴(예: margin: 1px 2px 3px;)..

CSS/SCSS 2025.09.08

[SCSS] SCSS 3 / SCSS 데이터 타입과 연산

SCSS 데이터 타입타입예시특징Number16px, 2rem, 45deg단위 가능, 수학 연산 가능String"Hello", 'Noto Sans'연결 가능, CSS 속성에 사용 가능Color#fff, rgba(0,0,0,0.5)색상 함수 사용 가능, 연산 가능Booleantrue, false조건문에 사용Listred, green, blue, 5px 10pxnth() 접근, 리스트 합치기 가능Map(primary: #fff, secondary: #000)map-get(), 반복문과 사용 가능Nullnull값 없음, 조건문에서 유용1. 숫자(Number)수치 값으로, 단위가 있을 수도 있고 없을 수도 있음.예시 단위: px, em, rem, %, deg 등SCSS에서는 숫자끼리 연산 가능 (+, -, *, ..

CSS/SCSS 2025.09.08

[SCSS] SCSS 2 / SCSS 기본 문법 (변수, 중첩, 선택자, ., &, @extend)

변수 (Variables)변수명 앞에 $를 붙임변수의 장점: 일괄 변경 용이, 코드 일관성 유지.단, 변수는 선언 후 사용 가능. 선언 전 사용하면 오류.$primary-color: #3498db; // 변수 선언$font-size-base: 16px;body { color: $primary-color; font-size: $font-size-base;} 중첩 (Nesting)CSS 선택자를 중첩해서 가독성을 높이고 코드량을 줄일 수 있음. 또는 # 선택자를 중첩해서 부모-자식 관계를 표현.중첩은 가급적 3~4단계 이하로 제한하는 것이 유지보수에 좋음.nav { background: #fff; ul { list-style: none; }} & 연산자 (Parent Selector Refer..

CSS/SCSS 2025.09.08

[SCSS] SCSS 1 / SCSS 정의, SASS 비교, 컴파일 과정

SCSS란?SCSS(Sassy CSS)는 CSS Preprocessor(전처리기) 중 하나인 Sass의 문법 형식기본 CSS보다 더 강력한 기능(변수, 중첩, 함수, 믹스인, 모듈화 등)을 제공해서 코드 재사용성과 유지보수성을 높여줌작성된 SCSS는 브라우저가 직접 읽을 수 없고, CSS로 컴파일해야 브라우저에서 사용 가능함 CSS PreprocessorCSS Preprocessor(전처리기)는 CSS를 확장하는 언어CSS 단점: 코드 중복이 많고, 큰 프로젝트에서 유지보수가 힘듦전처리기 역할: 변수, 조건문, 반복문, 함수 같은 프로그래밍 개념을 CSS에 도입해서 효율적으로 작성할 수 있게 해 줌전처리기 종류 : Sass(SCSS), LESS, Stylus SCSS → CSS 변환 (컴파일) 과정SCS..

CSS/SCSS 2025.09.08

[javascript] 배열 3-2(요소 조작) / 복사, 잘라내기, 붙여넣기(slice, concat, spread)

slice(start, end)배열의 일부를 잘라내어 새로운 배열을 반환 배열 일부 추출, 복사원본 배열은 변경 X특징start부터 end 전까지(즉, end는 포함 x) 잘라냄end를 생략하면 배열 끝까지음수 가능 → 뒤에서부터 계산 (-1 → 마지막 요소)// [문법]배열.slice(시작인덱스, 끝인덱스(끝 인덱스 요소는 반환 X))let arr = [10, 20, 30, 40, 50];arr.slice(1, 3); // [20, 30] (인덱스 1~2)arr.slice(2); // [30, 40, 50]arr.slice(-2); // [40, 50]arr.slice(); // 전체 복사 [10, 20, 30, 40, 50]concat()배열을 합쳐서 새로운 배열 생성..

JS/Javascript 2025.09.08

[javascript] 배열 3-1 (요소 조작) / 요소 제거, 추가, 교체(push, pop, unshift, shift, splice)

push / pop (조작 위치 : 끝)성능 : 느림 (앞에서 처리할 때 배열 전체가 밀리거나 당겨져야 해서 비용이 큼)1. push()배열의 끝(뒤)에 요소를 추가하는 메서드여러 개의 요소를 한 번에 넣을 수 있음반환값 : 새로운 배열의 length(길이)// [문법]배열.push(요소1, 요소2, ...)let arr = [1, 2];arr.push(3); // [1, 2, 3]console.log(arr.push(4, 5)); // 5 (요소를 추가한 뒤, 변경된 length륾 반환)console.log(arr); // [ 1, 2, 3, 4, 5 ]2. push()배열의 끝(뒤)에서 요소를 제거하는 메서드반환값 : 맨 마지막 요소를 꺼내고, 그 값을 반환배열이 비어있으면 undef..

JS/Javascript 2025.09.05

[javascript] 배열 2 / 배열 생성 방식 (리터럴, new Array, Array.of, Array.from, 전개 연산자)

1. 배열 리터럴(Literal) 방식가장 흔히 사용되고, 가장 간단한 방법.배열 길이는 요소 개수에 따라 자동 결정.요소 타입은 혼합 가능: 숫자, 문자열, 객체, 함수, 다른 배열 등.배열 내부는 0부터 시작하는 인덱스로 접근 가능.장점직관적빠르고 읽기 쉬움for..of, map, filter 등 반복문과 함께 사용하기 좋음// [문법]const 배열이름 = [요소1, 요소2, ...];const fruits = ["사과", "바나나", "체리"];console.log(fruits[0]); // "사과"console.log(fruits[fruits.length - 1]); // "체리"2. Array 생성자 사용new Array() 로 배열 생성new Array(요소1, 요소2, ...) → 배열 생..

JS/Javascript 2025.09.04

[javascript] 배열 1 / 배열(Array) 정의, 배열 인덱스, 배열 길이

배열(Array) 이란배열(Array) 은 여러 개의 값을 순서대로 저장하는 자료 구조각각의 값은 "요소(element)"라고 부르고, 요소는 고유한 번호(인덱스)로 구분됨자바스크립트 배열은 동적 배열이라 크기가 고정되지 않고, 중간에 요소를 추가하거나 삭제할 수 있음특징인덱스 기반 접근길이(length) 속성동적 크기 할당 가능희소 배열(sparse array) 가능let fruits = ["사과", "바나나", "포도"];배열과 객체의 차이구분객체(Object) 배열(Array)저장 구조키: 값 쌍순서(index)에 따른 값접근 방법obj.key 또는 obj["key"]arr[index]순서보장되지 않음(ES6 이후 일부 보장되지만 기본적으로 순서 의미 X)반드시 0부터 시작하는 순서 유지용도데이터의..

JS/Javascript 2025.09.04

[javascript] 메서드 체이닝(Method Chaining)

메서드 체이닝(Method Chaining)정의 : 한 객체에서 여러 메서드를 연속으로 호출하는 기법한 메서드가 호출된 후 자신(객체)을 반환해서 다음 메서드를 이어서 호출할 수 있는 구조문자열, 배열, 커스텀 객체 등 다양한 곳에서 활용 가능각 메서드는 반드시 객체 자신(this) 또는 메서드 체이닝 가능한 값을 반환해야 체이닝이 가능함'장점단점코드가 간결해짐한 메서드라도 잘못되면 전체 체인 실패객체를 여러 번 참조할 필요 없음디버깅 시 어느 단계에서 문제 생겼는지 찾기 어려움연속 연산이 직관적으로 표현됨체이닝만 의존하면 가독성이 떨어질 수 있음// ex)object.method1().method2().method3();체이닝 활용 문자열 체이닝 활용활용: URL slug 생성, 사용자 입력 정리 등...

JS/Javascript 2025.09.03

[javascript] 객체 9 / 프로토타입(prototype)

프로토타입(prototype)자바스크립트에서 모든 객체는 다른 객체를 가리키는 링크를 갖고 있음. 이 링크를 [[Prototype]]이라고 부르며, 흔히 "객체의 부모"처럼 생각할 수 있음다른 객체를 참조할 수 있는 내부 연결([[Prototype]]) 링크를 통해 객체가 자신에게 없는 속성이나 메서드를 상위 객체에서 찾아서 사용할 수 있음.객체 → 부모 객체 → 부모의 부모 객체 → ... → Object.prototype → null왜 프로토타입이 필요한가?1. 메모리 효율성을 위해프로토타입을 사용하면 메서드를 객체마다 반복 생성하지 않고 공유 메서드를 하나만 정의하고 모든 객체가 참조 가능// ex) 공유 메서드 활용 Person.prototype.sayName = function() { retu..

JS/Javascript 2025.09.03