일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- network
- Data Structure
- git
- 프로그래머스
- Redux
- 자바
- frontend
- 그레이들
- Python
- DFS
- VIM
- react
- CS
- Graph
- db
- 백준
- 안드로이드
- 알고리즘
- Javascript
- vscode
- BFS
- 동적 계획법
- Algorithm
- java
- DP
- Database
- 리트코드
- LeetCode
- TypeScript
- 다이나믹 프로그래밍
- Today
- Total
목록Programming/JavaScript (49)
늘 겸손하게

서론 한 변수에 저장된 데이터를 다른 변수에 복사하여 할당하는 방법에는 깊은 복사(deep copy)와 얕은 복사(shallow copy)가 존재한다. 두 방식의 차이점을 알아보자 얕은 복사 - shallow copy 메모리 사용량을 최소화하여 복사하기 위해 주소값만 복사한다. 주소값만 복사하기 때문에 복사 속도가 빠르고 메모리 사용량이 적다. 하지만, 같은 주소값을 참조하기 때문에 값이 변경되면 해당 주소를 참조하고 있는 모든 변수에 영향이 간다. let student = {name: "Mike", age: 25, height: 180}; let shallow_copy = student; console.log(shallow_copy.name); // "Mike" student.name..
자바스크립트가 유동적인 언어인 이유 변수의 자료형을 실행 시에(런타임에) 결정하는 동적 언어이기 때문. 위는 자바스크립트의 유연함으로 자바스크립트의 강점이나, 코드량이 많아지고 프로젝트 규모가 커지다 보면 변수값이 예측불가능해질 가능성이 높아져 자바스크립트의 단점이기도 하다. 정적언어 정적 언어는 정적 타입(static type)의 변수를 사용 변수를 선언할 때 변수에 저장할 데이터의 타입을 모두 선언해두어야 한다. 컴파일 시 변수의 타입이 결정되는 언어 c, java 등이 대표적 컴파일 시 선언된 변수 자료형과 다른 데이터가 변수에 들어가 있으면 컴파일 에러 발생 컴파일 중에 타입 에러를 걸러내므로 안정성이 뛰어남 동적 언어 동적 타입(dynamic type) 변수 사용 변수의 자료형을 실행 시(Run..
데이터 형 변환 자바스크립트에서 함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환됩니다. 이러한 과정을 "암묵적 타입 변환(Implicit type conversion)"이라고 합니다. 전달받은 값을 원하는 타입으로 변환하는 명시적 변환도 가능합니다. 명시적 변환을 '명시적 타입 변환' 또는 '타입 캐스팅'이라 합니다. 명시적 변환 - 문자형으로 변환 - String()으로 변수를 감싸 변환 let value = true; alert(typeof value); // boolean value = String(value); // 변수 value엔 문자열 "true"가 저장됩니다. alert(typeof value); // string 명시적 변환 - 숫자형으로 변환 - Number()로 변수..

자바스크립트 데이터 타입 자바스크립트 언어의 타입은 원시 값(Primitive)과 객체(Object)로 나뉩니다. 원시 값 - Primitive 자바스크립트의 원시 값은 총 7가지로 다음과 같습니다. string number bigint boolean null undefined symbol 자바스크립트의 원시값은 불변값으로 변경할 수 없습니다. 새로운 값으로 재할당은 가능하나 이미 생성한 값을 변경할 수는 없습니다. let student = "mike"; student.toUpperCase(); // 문자열 "mike"를 대문자로 console.log(student); // "mike"에 변경이 일어나진 않음 student = student.toUpperCase(); // 할당은 원시값을 변경하지않고 새..