본문 바로가기

Backend/Javascript

(35)
[Javascript] - Big Integer Big Integer (큰 정수) - 자바스크립트에는 64비트 정수가 없다 int64 형은 최대 9223372036854775807 까지의 정수를 담을 수 있는데, 자바스크립트의 Number.MAX_SAFE_INTEGER 범위보다 세자리나 큼 자바스크립트의 숫자형은 한개라 새로운 숫자형을 추가하는데에도 문제가 있음 -> 단순성을 잃게되고, 잠재적으로 다른 버그를 초래할 가능성이 커짐 만약 64비트 정수형을 추가하더라도 이후 72비트, 96비트, 128비트 등등을 대응할 필요는 없을까? 라는 논쟁이 이어질 수 있습니다. - 큰 정수를 언어에 추가하는 대신 라이브러리화 하는 것이 적절해 보이며 해당 부분을 이번 내용에서 보도록 하겠습니다. 큰 정수는 배열 형태로 저장할 것입니다. (크기가 자유롭기에) 배열의..
[Javascript] - Number Number (숫자) - 자바스크립트의 수는 실수(real-number) 에서 영감을 받았지만 진짜 실수(real-number) 는 아닙니다. - 자바스크립트는 number 라고 하는 하나의 숫자형을 갖고 있습니다. 따라서 오는 이점은 숫자 타입간의 고민을 하지 않아도 되서 개발자의 생산성 증가 타입 변환으로 인한 오류 없음 int 형을 사용해서 발생하는 오버플로 문제도 일어나지 않음 (아래 자바와 비교) Javascript : 2147483647 + 1 // 2147483648 정확하게 맞음 Java : 2147483647 + 1 // -2147483648 완전히 잘못됨 - 인텔의 iAPX-432 프로세서를 위해 처음 개발된 IEEE 부동소수점 연산 표준(IEEE 754) 을 차용했습니다. 부동소수점 ..
[Javascript] - Name Name (이름) - 변수나 속성, 함수에 부여하는 것 - 자바스크립트는 변수 이름의 길이에 제한을 두지 않음 const fruit = 'apple'; // fruit 라는 이름의 변수를 선언 const newyork_queens_hillcrest_right_bottom_side_university_name = 'St Johns'; // 억지로 만들었지만 이것보다 긴 이름도 상관없음 - 이름만 보고 무엇을 하는 것인지 짐작이 가능해야함 (코드를 읽기만 해도 프로그램을 설명할 수 있어야 합니다.) // bad const f = ['apple', 'banana', 'peach']; // good const fruits = ['apple', 'banana', 'peach']; // 변수명만으로 어떤 값을 가지..