4/18

바유·2022년 4월 18일


hoc는 클래스용인데 왜했지? 커스텀 훅으로 옮기는것을 이해 하려고
구조분해할당= 비구조화할당.


위와같이 해도 결과값은 똑같아~


이런식으로 리턴


usequery 는 객체 리턴
usestate함수는 배열을 리턴하는 함수였구나 (순서가 중요! 없으면 , 라도 찍어야함)

function useState(aaa){
const myState = aaa
const setMyState =(bbb) =>{
console.log(state를 ${bbb}로 바꿔) }
return [myState, setMyState]
}

const [count, setCount]= useState(10)
count
->10
setCount(20)
-> state를 20로 바꿔


function getClassmates(aaa, bbb) { return [bbb, aaa]}
const [child1, child2] = getClassmates("훈이","맹구")

child1
->'맹구'
child2
->'훈이'


객체에서 특정부분을 지우고싶다 ?

좋은 방법은 X (원본건드리는 행위)

child 라는 객체에서 money, hobby를 구조분해할당
child에서 각각 뽑아주자

const {money, hobby , ... rest } = child
// * ...rest : 나머지 또한 관례이기에 rest대신 다른것도 가능하다! 즉 변수임
rest
-> {name: "철수" , age: 8, school: 다초" }

원본을 건드리지않고 삭제된 객체 만들기

const child = { name: "철수" , age: 8, school: "다 초" , hobby: "헬스" }
const { age , ...rest } = child
rest
->{name: '철수', school: '다 초', hobby: '헬스'}
age
->8


function useAaa(){} vs function bbb(){}

이미 함수에 use___ 을 사용하고있다
이름은 커스텀 훅 이라고 붙임

use가 없다.
그냥 function


replace
1. 문자열 메서드 이며 첫번째 인자를 두번째 인자로 바꿀수있습니다.

str = "12345";
str.replace( "2" ," 0")
-> '10345'

중복인 문자가 있어도 앞에서 딱하나만 변경된다.
그래서 고안한것이

replaceAll 이다. (최신문법)


정규표현식 복습

/ {검증하는 문자열} /
s = /zero/ : 문자열안에 0 이 있는지 찾아요.
s= s.replace(/zero/,0); : 문자열에서 앞에 zero를 0으로바꿔줌

s=s.replace(/zero/g,0); : 전체 문자열에서 zero를 0으로바꾼다.

정규표현식은 변수할당이 X
이걸 가능하게해주는것이
regExp(변수값, 옵션값)

const numbers = ["zero", "one", "two", "three", "four", "five" , "six", "seven", "eight", "nine" ];
//for문과 정규표현식 풀이
function solution(s) {
for (let i=0; i <numbers.length; i++){
const regExp = new RegExp(numbers[i],"g");
s= s.replace( regExp,i) ;
}
return Number(s);
}

0개의 댓글