일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Graph
- 리트코드
- 프로그래머스
- react
- CS
- network
- Algorithm
- 다이나믹 프로그래밍
- frontend
- java
- Data Structure
- TypeScript
- Database
- DP
- 백준
- git
- Redux
- 안드로이드
- LeetCode
- 그레이들
- VIM
- 동적 계획법
- 자바
- 알고리즘
- Python
- db
- Javascript
- DFS
- vscode
- BFS
- Today
- Total
목록Programming/JavaScript (49)
늘 겸손하게
둘 다 주어진 인자가 유한(finite)한지 판단하는 메소드이지만 빌트인 전역 함수 isFinite는 전달받은 인수를 숫자로 암묵적 타입 변환하여 검사를 수행하지만 Number.isFinite는 주어진 인수를 숫자로 암묵적 타입 변환하지 않는 차이가 있다. 1 2 3 console.log(Number.isFinite(null)); // false console.log(isFinite(null)); // true cs isFinite에서 null은 암묵적으로 0으로 변환되어 true가 반환되지만 Number.isFinite에서 null은 암묵적 변환이 일어나지 않아 false가 반환된다.
자바스크립트 배열의 요소 제거하는 법을 알아보자. 1. delete 연산자 자바스크립트 배열은 객체이기 때문에 배열의 특정 요소는 프로퍼티이다. 그러므로 delete 연산자를 이용해 배열의 특정 요소를 삭제할 수 있다. 1 2 3 4 5 6 7 const arr = [1, 2, 3]; delete arr[1]; console.log(arr); // [ 1, , 3 ] console.log(arr.length); // 3 cs 하지만 length에 변화를 주지는 못한다. 즉, 희소배열이 된다. 2. splice 희소배열을 만들지 않고 특정 요소만을 제거한 배열을 만들고 싶은 경우 활용하면 좋은 메소드 1 2 3 4 5 6 7 const arr = [1, 2, 3]; arr.splice(1, 1); cons..
자바스크립트 클래스의 매서드 작성법은 2가지가 있다. 첫 번째는 '프로토타입 메서드', 두 번째는 '정적 메서드' 이다. class Person { constructor(name) { this.name = name; // name 프로퍼티는 public하다 } // 프로토타입 메서드 sayHi() { console.log(`Hi! My name is ${this.name}`); } // 정적 메서드 static sayHello() { console.log("Hello!"); } } // 인스턴스 생성 const me = new Person('Lee'); // 인스턴스의 프로퍼티 참조 console.log(me.name); // Lee // 프로토타입 메서드 호출 me.sayHi(); // Hi! My n..
함수 호이스팅 호이스팅이란 선언문이 코드 최상단에 끌어올려진 듯한 자바스크립트만의 현상을 의미한다. 함수 또한 호이스팅이 발생할 수 있는데 함수 선언문과, 함수 표현식 어떤 방식을 사용하여 함수를 선언했느냐에 따라 호이스팅이 발생할 수도, 발생하지 않을 수 있다. 차이점을 알아보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // 함수 참조 console.dir(add); // f add(x, y) - 호이스팅 발생 console.dir(sub); // undefined // 함수 호출 console.log(add(2, 5)); // 7 - 호이스팅 발생 console.log(sub(2, 5)); // TypeError: sub is not a function // 함수 ..