Thief of Wealth
자바스크립트는 왜 부동소수점의 정확성이 떨어질까?
개발/FrontEnd Interview 2021. 6. 19. 14:40

자바스크립트는 왜 부동소수점의 정확성이 떨어질까? 0.1 + 0.2 === 0.3 // false 왜? 자바스크립트 숫자는 항상 64bit 이다. 자바스크립트는 정수/짧은/긴/부동소수점 등의 다른 유형을 정의하지 않는다. C는 short, int, float, double 등 다양하지만 자바스크립트는 무조건 number이다. (BigInteger도 있당) 그리고 이건든 국제 표준인 IEEE 754에 따라서 계산되고 정의되어지는데, 이것은 64bit일때 15자리의 정확도까지 보장한다. 10진수 값을 bit로 저장하려고 2진수로 바꾸게되는데 0.1, 0.2같은 부동 소수점은 무한 소수가 발생하고 이는 반올림을 통해 근사값이 저장되게 된다. 계산 이를 해결하기 위해서는 수학관련 라이브러리 혹은 정수로 바꿔서 ..

article thumbnail
quiz.typeofnan.dev 문제 정리 - 6
개발/Web Programming 2021. 6. 19. 12:35

? ㅋㅋ 이중 for문의 방향문제.. 의도가 뭐지 못찾으면 -1 참조값의 형변환에 대해서 공부해보자~ ==은 형변환이 발생함! 아 ㅋㅋㅋ new Array(5)는 empty로 채워져있어서 iteration이 되지 않았다. arr가 [0,0,0,0,0]이든 [null,null,null,null,null] 처럼 값이 들어가 있었으면 5가 나왔을 것이다. 클로저는 부모 스코프의 자원을 기억하고 있다! NaN 나쁜놈 이젠 개행으로 안낚인다. 뒤집어도 똑같아~ 어렵다아아 console.log((b++) + 3, b) []도 true~ [1]도 true~ 누가봐도 window 이게뭐야 (((6 + 5) * 2) - 5) + 10 = 27. Nan == Nan "string"/5 + Number isNaN(2) ty..

article thumbnail
quiz.typeofnan.dev 문제 정리 - 5
개발/Web Programming 2021. 6. 19. 12:11

async await 때문에 console.log는 비동기가 끝나고 실행되게 된다. 비동기가 끝나면 promise가 "done!"을 반환하므로 해당 문자열이 출력되게 된다. return을 하고 있으나, 개행때문에 bar는 return; 이 되게된다. JS에서 소수점의 정확도를 기대하다니 우오 처음알았다. Object.values iterates through enumerable integer keys starting from 0 in sequential order 10ms만에 p3가 reject되었다! 이건 또 뭐지 1..toString() 이런것도 된다고 한다. 연산자의 우선순위가 같으므로, 왼쪽부터 차례대로 연산될 것이다. (3>2) > 1 true > 1 1 > 1 false 이건 또 뭐지.. de..

article thumbnail
quiz.typeofnan.dev 문제 정리 - 4
개발/Web Programming 2021. 6. 18. 14:43

string과 number가 +연산자로 이어지면, number는 string으로 캐스팅되어 동작하고, -가 만나면 string이 number로 캐스팅되어 동작한다. array를 복사하는 올바른 방법은? 그냥 다른 변수에 대입을 한다면 참조값이 그대로 이동하기 때문에, spread 연산자를 활용하거나, 배열의 원소 하나하나를 옮겨야 한다. B,C랑 헷갈려서 익숙한 구조인 C를 골랐더니 B란다. 왜냐하면 delete car["color"]; 으로 써야 맞댄다... 🤢 a==b는 true, a===b false이다. ===은 타입까지 비교를하기 때문이다. string에서 어떤 string의 위치를 찾고 싶으면 indexOf 삭제된 프로퍼티를 출력했으므로 undefined [1,2,3].toString() 은 ..

우테코 subway-map 학습로그
개발/FrontEnd Interview 2021. 6. 16. 15:17

Typescript 에서 enum, const enum, union types enum vs const enum 상세 비교 feat. 역맵핑 typescript as const 란? react에서 rendering이 2번되는 이유는 무엇인가? (Strict Mode) React Route의 render와 component의 차이점은? Redux-toolkit의 장단점은?

[리팩터링] 캡슐화 - 레코드 캡슐화 하기
개발/Web Programming 2021. 6. 14. 23:09

캡슐화 모듈을 분리하는 가장 중요한 기준은 아마도 시스템에서 각 모듈이 자신을 제외한 다른 부분에 드러내지 않아야할 비밀을 얼마나 잘 숨기느냐에 있다. 이러한 비밀 중 대표적인 형태인 데이터 구조는 레코드 캡슐화하기 와 컬렉션 캡슐화하기로 캡슐화해서 숨길 수 있다. 심지어 기본형 데이터도 기본형을 객체로 바꾸기로 캡슐화할 수 있다. 리팩터링할 때 임시 변수가 자주 걸리적 거리는데, 정확한 순서대로 계산해야하고 리팩터링 후에도 그 값을 사용하는 코드에서 접근할 수 있어야 하기 때문이다. 계산해서 얻을 수 있는 값과, 그렇지 않은 값을 명확히 구분해서 저장해야하는 것이 번거롭다. 레코드는 2가지로 구분된다. 필드 이름을 노출하는 레코드 필드 이름을 외부로 부터 숨겨서 내가 원하는 이름을 쓸 수 있게하는 레코..

article thumbnail
우테코 react-shopping-cart 학습로그 작성
개발/Web Programming 2021. 6. 14. 19:44

figma를 사용해보셨나요? 사용했을때의 장단점은 무엇이 있었나요? (뇌피셜) : figma는 코드 작성없이 컴포넌트의 디자인을 할 수 있게 해주는 유용한 도구였습니다. figma를 사용함으로써 만들어야할 컴포넌트의 디자인을 가이드할 수 있었고, 좀 더 빠른 개발이 가능했다고 생각합니다. 하지만, 도구에 능숙하지 않다면 figma를 작성하는데 시간이 꽤 걸릴 것 같습니다. 그리고 디자인이 조금 어긋나 있을 경우, 보이는 컴포넌트와 똑같이 따라가려는 마음 때문에 figma를 잘못 작성하면 올바르지 않은 디자인 가이드가 될 수 있겠구나 생각했습니다. Flux는 MVC의 어떤 문제를 해결했을까? 글이 다 날아 갔다. https://beomy.tistory.com/44 MVC의 문제점 위 MVC 패턴에서 Con..

article thumbnail
내가 보려고 만든 "useEffect 완벽 가이드" 요약
개발/Web Programming 2021. 6. 13. 21:54

https://overreacted.io/ko/a-complete-guide-to-useeffect/ useEffect 완벽 가이드 이펙트는 데이터 흐름의 한 부분입니다. overreacted.io ✅ useEffect로 componentDidMount 동작을 흉내내려면 어떻게 해야하는가? => 완전히 같지는 않지만 useEffect(fn, []) 형식으로 가능하다. ✅ 이펙트를 일으키는 의존성 배열에 함수를 명시해도 되는건가? => prop, state를 반드시 요구하지 않는 함수는 컴포넌트 바깥에 선언해서 호이스팅하고, effect안에서만 사용되는 함수는 effect 내부에 선언하는 것이다. 만약 렌더 범위 안에있는 함수를 effect가 사용하고 있다면, 구현부를 useCallback으로 감싸면된다...

profile on loading

Loading...