TIL 20221015 - 113번

hoin_lee·2022년 10월 15일
0

TIL

목록 보기
77/236

오늘 가게 보느라 많은 공부를 하지 못했지만 어떻게 할 수 있는만큼 하려고 노력했다
내일 더 할 수 있도록 노력하자

오늘 공부

오늘공부
알고리즘 문제 풀기(프로그래머스)
https://github.com/hoinlee-moi/algorithm_prac
오늘은 앞서 배우고 복습했던 문법들로 대부분 풀 수 있었다!

JS기본문법 다시 공부
https://github.com/hoinlee-moi/ModernJS

React 강의 듣기
https://github.com/hoinlee-moi/React_prac

<오늘 공부하며 복습,새롭게 알게된 문법>

shift() , unshift()

shift()란 배열을 왼쪽으로 한칸씩 이동시키는 것, 자연스레 0번째 index에 있던 값은 없어지고 배열의 크기는 1 작아진다.
unshift()는 오른쪽으로 한칸씩 이동하며 0번째 index가 새로 비게 된다. 따라서 unshift()를 사용할 땐 괄호 안에 0번재 index에 넣으려는 값을 전달

shift() 예시

const arr = [1, 5, 3, 8, 10]
const value = arr.shift() //제거한 요소를 반환 받을 수 있음
console.log(value) // 1
console.log(arr) // [5, 3, 8, 10]

unshift() 예시

const arr = [1, 5, 3, 8, 10]
arr.unshift(6)
console.log(arr) //[6, 1, 5, 3, 8, 10]

matchAll()

정규식 matchAll()에 대해 문자열과 일치하는 모든 결과의 반복자를 반환

const regexp = /t(e)(st(\d?))/g;
const str = 'test1test2';

const array = [...str.matchAll(regexp)];

console.log(array[0]);
// expected output: Array ["test1", "e", "st1", "1"]

console.log(array[1]);
// expected output: Array ["test2", "e", "st2", "2"]

matchAll(regexp)

tilde(~)과 double tilde(~~)연산자

tilde 연산자는 비트연산자로 NOT의 기능을 한다고 보자
tilde를 2번 박복할 경우 Math.floor()처럼 사용할 수 있음

let k=8이라고 했을 때 ~k는 -9이다. ~~k는? 그렇다 원래대로 8

Math.floor()대신 사용될 수 있따.
숫자에 ~연산을 하게되면 소점들은 버려지게 되는데 즉, ~~를 활용하면 Math.floor()처럼 활용할 수 있다.

  • 장점
    속도 측면에서 가 빠르다고 한다. `, Math.floor,parseInt`순으로 퍼포먼스를 보여준다.
    (https://dev.to/asadm/the-mysterious-double-tilde-operation-mih)

  • 단점
    코드에 ~~가 덕지덕지 있다고 상상해보자. 복잡한 코드 또는 협업하는 과정에 가독성이 좋지 않기 때문에 사용하지 않는 편이 좋다.

profile
https://mo-i-programmers.tistory.com/

0개의 댓글