JavaScript는 백엔드를 작성할 수 있습니다. JavaScript는 "Node.js"를 사용하여 백엔드 개발을 수행할 수 있습니다. "Node.js"는 JavaScript가 서버 측에서 실행될 수 있도록 하는 개발 플랫폼입니다. I/O" 서버측 JavaScript 환경인 "Node.js"는 서버측에서 실행되는 JavaScript로 이해될 수 있으므로 JavaScript를 백엔드에서 작성할 수 있습니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
JavaScript가 백엔드를 작성할 수 있나요? JavaScript는 Node.js 기술을 통해 백엔드 개발을 달성할 수 있습니다. Node.js는 JavaScript가 서버 측에서 실행될 수 있도록 하는 개발 플랫폼입니다.
Node.js는 JavaScript를 서버 측에서 실행할 수 있게 해주는 개발 플랫폼입니다. 이는 JavaScript를 PHP, Python, Perl 및 Ruby와 같은 서버 측 언어와 동등한 스크립팅 언어로 만듭니다.
우선 Node가 웹 서버가 아니라는 점을 이해하는 것이 매우 중요합니다. 그 자체로는 아무것도 하지 않습니다. 아파치처럼 작동하지 않습니다. HTTP 서버가 되기를 원한다면, 내장 라이브러리의 도움을 받아 직접 작성해야 합니다. Node.js는 컴퓨터에서 코드를 실행하는 또 다른 방법일 뿐입니다. 간단한 JavaScript 런타임입니다.
간단히 말하면 Node.js는 서버 측에서 실행되는 JavaScript입니다.
Node.js는 Chrome JavaScript 런타임을 기반으로 구축된 플랫폼입니다.
Node.js는 Google의 V8 엔진을 기반으로 하는 이벤트 중심 I/O 서버 측 JavaScript 환경입니다. V8 엔진은 Javascript를 매우 빠르게 실행하고 성능이 매우 좋습니다.
백엔드 JavaScript 작성 시 발생하는 몇 가지 문제:
1. 부동 소수점 데이터의 정밀도 손실 문제:
부동 소수점 유형은 단정밀도 부동 소수점 유형(float)과 이중 정밀도 부동 소수점 유형으로 구분됩니다. (double)은 강타입 언어(C, JAVA)에서 자세히 설명하고 있으며 JS에서는 숫자형(Number)이라고 통칭한다. 관심 있는 독자들은 관련 지식을 배울 수 있습니다. 이 기사는 계속해서 위의 질문으로 돌아갑니다.
먼저 정확도 상실 문제의 성능을 살펴보겠습니다. 소스 코드는 다음과 같습니다.
console.log(0.1+0.2); //0.30000000000000004
결과는 0.3이어야 하는데 실행 결과가 헷갈립니다. 이는 백엔드 개발에서는 절대 허용되지 않습니다. 이 문제는 JS에서만 나타나는 것이 아닙니다. 테스트 후 이 문제는 JAVA 및 PHP에서는 존재하지만 C에서는 존재하지 않습니다. 나는 왜 다른 언어를 배우지 않았나요? 왜인지 모르겠어요!
문제에 대해 이야기한 후 해결 방법에 대해 이야기해 보겠습니다.
const floatAdd = (arg1, arg2) => { let r1,r2,m; try { r1 = arg1.toString().split(".")[1].length; } catch(e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch(e) { r2 = 0; } m =Math.pow(10,Math.max(r1,r2)); return (arg1*m+arg2*m)/m; }; console.log(floatAdd(0.1,0.2)); // 0.3
2. toFixed() 반올림 BUG:
toFixed() 메서드는 값 형식을 지정하기 위해 고정 소수점 표현을 사용합니다. 쉽게 말하면 데이터를 반올림하는 과정으로, 고정 소수점은 유지되는 소수점 이하 자릿수를 의미합니다.
예:
let a=1.115; console.log(a.toFixed(2)) //1.11
[관련 권장 사항: javascript 비디오 튜토리얼, web front-end]
위 내용은 JavaScript로 백엔드를 작성할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!