본문 바로가기
728x90

JavaScript16

[JavaScript] splice()와 slice() 메서드 정리 이번 글에서는 자바스크립트에서 배열을 변경할 수 있는 메서드들인 splice()와 slice()에 대해서 알려드리겠습니다. 우선, splice() 메서드는 배열에 요소를 추가, 교체, 또는 기존의 요소를 삭제할 수 있게 합니다. 메서드의 구문은 다음과 같습니다. exArr.splice(startIndex) exArr.splice(startIndex, deleteCount) exArr.splice(startIndex, deleteCount, item0, item1, ..., itemN) ▶ startIndex (필수) 첫 번째 매개변수는 배열의 변경이 시작되는 위치를 지정합니다. 다른 선택적인 매개변수와는 달리 필수이기 때문에, 만약 생략된다면 배열은 그대로 유지됩니다. - startIndex >= exA.. 2023. 8. 17.
[JavaScript] 난수 생성하기 - Math.random() Math.random() 메서드는 0 이상 1미만의 부동소수점의 난수를 생성합니다. 난수 생성에 사용되는 시드 값은 난수 생성 알고리즘에 의해 결정되기 때문에, 특정 값으로 지정하거나 변경이 불가능합니다. ※ 주의 : Math.random() 메서드는 보안 상 안전한 난수를 제공하지는 않습니다. 보안/암호와 관련되어서는 사용하지 않는 것이 권장됩니다. Math.random() 메서드의 사용 방법 자체는 간단합니다. Math.random() // 0.5834082844933923 Math.random() // 0.4934202120749698 메서드를 활용하면 다양한 유형의 랜덤 숫자를 구할 수 있습니다. 1) 두 값 사이의 랜덤 숫자 추출 아래 예시의 코드는 min 이상 max 미만의 구간에서 랜덤한 숫.. 2023. 8. 9.
[JavaScript] 프로미스(Promise) 자바스크립트에서 프로미스(Promise)란, 비동기식으로 처리되는 코드의 결과를 담게 되는 객체입니다. 실행되는 코드의 결과 값에 따라서 어떠한 동작을 실행할지 정할 수 있기 때문에 코드 로직을 더 섬세하게 작성하는 것이 가능해집니다. 보통 네트워크 통신이나 파일을 읽을 때 사용되는데, 데이터를 읽지 못한 상황에서도 데이터를 표시하려고 하면 발생하는 오류를 프로미스를 통해 예방할 수 있기 때문입니다. 프로미스는 세 가지 상태를 가질 수 있습니다. 1) 대기(Pending) : 프로미스가 선언되면 가지게 되는 초기 값으로, 비동기 처리 연산이 완료되기까지 대기하고 있는 상태입니다. 2) 이행(Fulfilled) : 비동기 처리 연산이 성공적으로 완료된 상태입니다. 3) 거절(Rejected) : 비동기 처.. 2023. 8. 8.
[JavaScript] 템플릿 리터럴(Template Literal) 템플릿 리터럴(Template Literal)은 내장된 표현식을 허용하는 문자열 리터럴입니다. ES6부터 새로 도입되었으며, 따옴표가 아닌 백틱(`)을 사용합니다. 이번 글에서는 템플릿 리터럴의 특징과 기능에 대해서 설명하겠습니다. ① 여러 줄 문자열 일반 문자열과 직관적으로 다르게 느껴지는 특징 중 하나는 여러 줄인 문자열을 작성할 때의 편리함입니다. 일반적인 문자열에서 여러 줄인 문자열을 작성한다면, 백슬래쉬를 통해 줄 바꿈을 뜻하는 \n을 사용해야 합니다. console.log("Line number 1\n" + "Line number 2"); // Without template literal 하지만 템플릿 리터럴을 사용한다면, 작성된 코드에서의 줄바꿈이 그대로 결과로 표시됩니다. 앞서 나온 코드는.. 2023. 8. 7.
[JavaScript] toUpperCase(), toLowerCase() 메서드 JavaScript에는 문자열(string)을 모두 대문자로 변경하거나, 모두 소문자로 변경할 수 있는 메서드가 있습니다. - toUpperCase() : 문자열을 대문자로 변환하는 메서드 - toLowerCase() : 문자열을 소문자로 변환하는 메서드 let ex_str = "Hello World!" console.log(ex_str.toUpperCase()); // HELLO WORLD! console.log(ex_str.toLowerCase()); // hello world! 단 JavaScript에서 문자열은 불변하기 때문에, 두 메서드를 사용해도 원본 문자열에는 영향이 가지 않습니다. 2023. 6. 27.
[JavaScript] 불변성(Immutability)을 유지하는 방법 객체 타입(Object Type)의 데이터는 변경될 수 있어서 예상치 못한 오류가 발생할 수 있습니다. 다음과 같은 코드를 보면, y의 속성 값을 변경했는데 x의 속성 값도 같이 변경되는 것을 확인할 수 있습니다. let x = { size: 21 }; let y = x; y.size = 25; console.log(x.size); // 25 만약 코드가 더욱 복잡해진다면, 코드의 결과를 예측하기가 어려워집니다. 이러한 문제점을 해결하기 위해서 크게 2가지의 방법이 존재합니다. 객체 타입의 데이터를 복사할 때 깊은 복사를 하는 방법과, 객체 자체를 불변하게 만드는 것입니다. ① 깊은 복사하기 얕은 복사는 해당 객체만 복사하여 새로운 객체가 같은 메모리 주소를 참조하고 있게 합니다. 반대로 깊은 복사는 해.. 2023. 6. 25.
반응형