일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Failed to compiled
- html
- github lfs
- silent printing
- adb pair
- react-native-dotenv
- adb connect
- electron-packager
- augmentedDevice
- Recoil
- ELECTRON
- animation
- camera permission
- npm package
- camera access
- Can't resolve
- dvh
- ffi-napi
- 이미지 데이터 타입
- 티스토리 성능
- device in use
- custom printing
- rolldown
- Each child in a list should have a unique "key" prop.
- react-native
- vercel git lfs
- Git
- github 100mb
- nextjs
- github pdf
- Today
- Total
Bleeding edge
2022/08/25-TIL 본문
30장 Date
30.1 Date 생성자 함수
new Date() ; //Mon Jul .... typeof new Date() object
Date(); //Mon Jul ..... typeof Date() String
30.2 Date 메서드
Date.parse('Jan 2, 1970 00:00:00 UTC')
Date.parse('19970/01/02/09:00:00')
Date.prase를 이용하여 주어진 인수를 밀리초로 변환한다.
30.3 Date를 활용한 시계 예제
31장 RegExp
31.1~3 정규 표현식
regExp.exec(target) //정규 표현식의 패턴을 검색하여 매칭 결과를 배열로 반환한다.
/is/
regExp.test(target) //매칭 결과를 불리언으로 반환한다
/is/
target.match(regExp) //["is", index: 5, input: "Is this all there is?", groups:unde]
/is/
target.match(regExp)// ["is", "is"]
/is/a
31.4 플래그
i : 대소문자 구별하지 않는다
g:모든 문자열 전역검색
m: 행이 바뀌더라도 검색
31.5 패턴
31.5.1 문자열 검색
플래그에 따라서 일치하는 문자열 검색
31.5.2 임의의 문자열 검색
.는 임의를 의미한다. …은 임의의 3자리 문자열을 이야기한다
31.5.3 반복 검색
/A{1,2}/g; A가 최소 1 최대 2번 반복하는 문자찾기
/A{2}/ A가 2번 반복되는 문자
/A{2,}/ A가 최소 2번 반복하는 문자
/A+/ A로만 이루어진 문자열, A가 1번이상 반복되는 문자
/col?r/g, [coluuuuur, color] col와, r이 반복되고 문자열을 검색한다
/A|B/g A나 B를 검색한다
/A+|B+/g A나 B가 한번 이상반복되는 것
/[AB]+/g A또는B가 한번이상 반복되는 문자열을 전역 검색한다
/[A-Z]+g A~Z가 한 번 이상 반복되는 문자열을 전역 검색한다
/\\D,+/ 0-9가 아닌 문자 또는 , 가 한번 이상 반복되는 문자열을 전역 검색한다
/[\\w,]+/g
/[^0-9]+/ 숫자를 제외하고
/^https/ https로 문자가 시작하는가
/com$/ com으로 주사가 끝나는가
31.6 자주 사용하는 정규표현식
32장 String
32.1 String 생성자 함수
new String('Lee') //스트링 레퍼 객체를 생성한다.
32.2 length 프로퍼티
length 프로퍼티 문자 개수를 반환한다
32.3 String 메서드
str.indexOf('a') a문자의 첫 번째 인덱스를 반환한다
str.indexOf('a', n) a문자를 인덱스 n부터 검색화여 반환한다
str.search(/a/) 정규식과 매치하는 문자열을 검색하여 일치하는 문자열을 반환한다
str.search(/a/, n) n번째 인덱스부터 실행
str.startsWith('aa') 문자열이 aa로 시작하는지 확인
str.startsWith('aa', n) n부터 시작한 문자가 aa로 시작하는지 확인
str.endsWith('bb') bb로 문자가 끝나는지 확인
str.endsWith('bb', n) 처음부터 n자리까지의 문자가 bb로 끝나는지 확인
str.charAt(n) n번째 인덱스에 위치한 문자열을 반환
str.substring(n) =>slice와 유사하다/ 단 slice는 음수도 가능하다
33장 7번째 데이터 타입 Symbol
33.1 심벌이란?
변경 불가능한 원시타입의 값, 중복되지 않는 유일무이한 값
33.2 심벌 값의 생성
33.2.1 Sybol 함수
symbol함수는 유일하게 new 연산자와 함께 호출하지 않는다
new Symbol() //TypeError
const mySymbol1 = Symbol('mySymbol')
const mySymbol2 = Symbol('mySymbol')
console.log(mySymbol1 === mySymbol2) //false
심벌은 값이 같더라도 유일 무이한 값을 만든다
console.log(mySymbol1 + '') Symbol은 암묵적으로 문자열로변경하지 못한다
console.log(+mySymbol1) Symbol은 암묵적으로 숫자타입으로 변경하지 못한다
console.log(!mySymbol1) Symbol은 암묵적으로 불리언으로는 변경가능하다
33.2.2 Symbol.for/Symbol.keyFor 메서드
const s1 = Symbol.for('mySymbol');
const s2 = Symbol.for('mySymbol');
//mySymbol키로 저장된 값이 있으면 반환 없으면 생성
console.log(s1===s2)
const s1 = Symbol.for('mySymbol');
Symbol.keyFor(s1) =>mySymbol
const s2 = Symbol('foo');
Symbol.keyfor(s2) //undefined -> key로 등록해야 keyFor로 찾을 수 있다
수업시간에 들은 내용
콜백함수의 불일치 문제를 해결해주니까 화살표함수는 콜백함수에 사용하면 좋다. 화살표함수는 생성자 함수만 아니면 유용하다.
면접에서는 꼬리물기를 안당하게 기선제압을 해라. 면접할 때 뒷말을 흐리지 말 것
this는 맥락이다. 객체 내에서만 있다.을 쓰기위해서 사용한다 프로퍼티를 참조할 때 의미가 있다. 메서드 내에서만 의미가 있다. 일반함수에서는 무의미하다. this는 어떻게 호출 하냐에 따라 달라진다. 일반함수 → 전역이다.
화살표함수에서 this가 없는 이유는 this를 쓸 상황이(생성자함수가 아니다) 아니다라는 의미이다. 화살표함수는 프로토타입이 없다. 그리고 super가 없는 이유는 메서드 내에서 의미가 있고, 수퍼 클래스에서 의미가 있기 때문에 화살표함수에 없는게 낫다
일반함수를 사용할 때는 화살표 함수를 이용해서 사용하려고 노력할 것
화살표 함수에서는 this가 가장 중요하다. this 식별자역활을 하는 키워드이다. 화살표 함수의 this를 파악하려면 이 this의 상위 스코프가 뭔지 생각해봐야한다.
실행컨텍스트 : 그 함수를 선언한 환경이다.
() => () => console.log(this)
function (){
return function() {
return console.log(this);
}
}
class Person{
sayHi = () => console.log(`Hi ${this.name}`)//원래는 window를 가르키지만
//이것을 예외적으로 class this를 가르킨다.
constructor(){
this.name = 'Lee';
this.sayHi = () =>console.log(`Hi ${this.name}`)
}
}
순회를 할 때는 배열, 아닐 때는 객체를 사용한다.
순회하려면 for문을 써야한다. for문에는 length가 필요하다.
ADT Adjacent Data Type
Array는 메모리셀에 동일한 사이즈가 비여 있는 것이 배열이다.
⇒동일한 크기로 인접해야한다
⇒ Read는 많지만, 추가하거나 삭제를 안하는 자료구조에 적합하다.
HTML은 DOM까지 같이 가야한다.
push를 쓰지 않는 것이 중요하다
let arr = [1,2,3];
arr = [...arr, 4] =>원본 배열은 손상시키지 않는 방법을 사용한다
accessor를 사용한다
map, filter가 가장 중요하다. reduce는 최후의 수단이다
map이 다른것을 return하는 이유는 전형적인 비순수 함수기 떄문에 새로 만든다.
원본이 3개다. return하는 요소도 3개다 map(1:1)이다
fitler는 원본갯수 혹은 적게만든다
reduce는 누산기로써 1개로 만들어진다.
'ConnecTo' 카테고리의 다른 글
2022/08/29 - TIL (0) | 2022.08.29 |
---|---|
2022/08/26 - TIL (0) | 2022.08.26 |
2022/08/24 - TIL (0) | 2022.08.24 |
2022/08/23 - TIL (0) | 2022.08.23 |
2022/08/22 - TIL (0) | 2022.08.22 |