728x90

Language/Javascript 45

[Javascript] 자바스크립트 표준 객체 - RegExp 객체와 메소드

정규 표현식(regular expression)이란? 정규 표현식은 문자열에서 특정한 규칙을 가지는 문자열의 집합을 찾아내기 위한 검색 패턴이다. 이런 검색 패턴은 모든 종류의 문자열 검색이나 교체 등의 작업에서 사용할 수 있다. 정규 표현식의 생성 정규 표현식 리터럴을 이용한 생성이나 RegExp 객체를 이용한 생성으로 자바스크립트에서 정규 표현식을 만들 수 있다. 정규 표현식 리터럴은 슬래시 / 기호로 시작하여 슬래시 / 기호로 끝나며, 필요에 따라 플래그를 추가하여 기본 검색 설정을 변경할 수도 있다. /검색패턴/플래그 var regStr = /a+bc/; // 정규 표현식 리터럴을 이용한 생성 var regObj = new RegExp("a+bc"); // RegExp 객체를 이용한 생성 regS..

Language/Javascript 2023.08.02

[Javascript] 자바스크립트 표준 객체 - Array 객체와 메소드

Array 객체란? 자바스크립트에서 배열은 정렬된 값들의 집합으로 정의되며, Array 객체로 다뤄진다. 배열(array)은 1개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용한다. 자바스크립트의 배열은 객체이며 유용한 내장 메소드를 포함하고 있다. 배열은 Array 생성자로 생성된 Array 타입의 객체이며 프로토타입 객체는 Array.prototype이다. 배열과 객체의 차이 배열 리터럴은 객체 리터럴과 달리 프로퍼티명이 없고 각 요소의 값만이 존재한다. 배열은 요소에 접근하기 위해 대괄호 표기법만을 사용하며 대괄호 내에 접근하고자 하는 요소의 인덱스를 넣어준다. 객체는 프로퍼티 값에 접근하기 위해 대괄호 표기법 또는 마침표 표기법을 사용하며 프로퍼티명을 키로 사용한다. 대부분의 프로그래밍 언어..

Language/Javascript 2023.08.02

[Javascript] 자바스크립트 표준 객체 - String 객체와 메소드

자바스크립트에서의 문자열 표현 자바스크립트에서 문자열 리터럴은 큰따옴표 " " 나 작은따옴표 ' ' 를 사용하여 손쉽게 만들 수 있다. var firstStr = "문자열"; // 큰따옴표를 사용한 문자열 var secondStr = '문자열'; // 작은따옴표를 사용한 문자열 var thirdStr = "이름은 '홍길동'이다" // 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있음 var fourthStr = '이름은 "홍길동"이다' // 큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있음 이스케이프 시퀀스(escape sequence) 자바스크립트는 더욱 다양한 문자 표현을 위해 여러 가지 이스케이프 시퀀스(escape sequence) 방식을 제공한다. 16진수 이스케이프 시퀀스(h..

Language/Javascript 2023.08.02

[Javascript] 자바스크립트 표준 객체 - Date 객체와 메소드

자바스크립트에서의 날짜 표현 자바스크립트에서는 Date 객체로 시간과 날짜 정보를 얻을 수 있으며, 아래와 같은 값의 범위를 가진다. 연도(year) : 1900년(00) ~ 1999년(99) 월(month) : 1월(0) ~ 12월(11) 일(day) : 1일(1) ~ 31일(31) 시(hours) : 0시(0) ~ 23시(23) 분(minutes) : 0분(0) ~ 59분(59) 초(seconds) : 0초(0) ~ 59초(59) 자바스크립트에서 날짜 계산의 모든 기준은 1970년 1월 1일 00:00:00(UTC, 협정세계시)부터다. 자바스크립트에서 월을 나타낼 때는 1월이 0으로 표현되고 12월이 11로 표현되며, 일주일은 일요일은 0부터 시작하여 토요일은 6로 끝나고, 하루는 86,400,000..

Language/Javascript 2023.08.02

[Javascript] 자바스크립트 표준 객체 - Math 객체와 메소드

Math 객체 Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체다. Math 객체는 다른 전역 객체와는 달리 생성자(constructor)가 존재하지 않으므로, 따로 인스턴스를 생성하지 않아도 Math 객체의 모든 메소드나 프로퍼티를 바로 사용할 수 있다. Math 프로퍼티 Math.E 오일러의 수(Euler's constant)라고 불리며, 자연로그(natural logarithms)의 밑(base) 값 2.718 Math.LN2 2의 자연로그 값 0.693 Math.LN10 10의 자연로그 값 2.303 Math.LOG2E 오일러 수(e)의 밑 값이 2인 로그 값 1.443 Math.LOG10E 오일러 수(e)의 밑 값이 10인 로그 값 0.434 ..

Language/Javascript 2023.08.02

[Javascript] 자바스크립트 표준 객체 - Number 객체와 메소드

자바스크립트에서의 수 표현 자바스크립트에서는 정수와 실수를 따로 구분하지 않고 모든 수를 실수 하나로만 표현한다. 자바스크립트에서 모든 숫자는 IEEE 754 국제 표준에서 정의한 64비트 부동 소수점 수로 저장되며, 64비트 부동 소수점 수의 정밀도는 정수부는 15자리까지 소수부는 17자리까지만 유효한다. var x = 999999999999999; // 15자리의 정수부 var y = 9999999999999999; // 16자리의 정수부 var z = 0.1 + 0.2 x; // 999999999999999 y; // 10000000000000000 z; // 0.30000000000000004 - 오차 발생 /* 오차 없애기 위해서, 정수형태로 먼저 변환하여 계산하고 다시 실수형태로 재변환 */ ..

Language/Javascript 2023.08.02

[Javascript] 자바스크립트 객체 분류 - 네이티브, 호스트 객체

자바스크립트 객체 종류 자바스크립트의 객체는 아래와 같이 크게 3개의 객체로 분류할 수 있다. 네이티브 객체 네이티브 객체(Native objects or Built-in objects or Global Objects)는 ECMAScript 명세에 정의된 객체를 말한다. 애플리케이션 전역의 공통 기능을 제공하므로, 네이티브 객체는 애플리케이션의 환경과 관계없이 언제나 사용할 수 있다. Object, String, Number, Function, Array, RegExp, Date, Math와 같은 객체 생성에 관계가 있는 함수 객체와 메소드로 구성된다. 네이티브 객체를 Global Objects라고 부르기도 하는데 이것은 전역 객체(Global Object)와 다른 의미로 사용되므로 혼동에 주의해야 한다..

Language/Javascript 2023.08.02

[Javascript] 자바스크립트 객체 지향 프로그래밍 - 추상, 캡슐, 상속, 다형

객체지향 프로그래밍 (Object-Oriented Programming) 객체지향 프로그래밍은 함수들의 집합 혹은 단순한 컴퓨터의 명령어들의 목록이라는 전통적인 절차지향 프로그래밍과는 다른, 관계성있는 객체들의 집합이라는 관점으로 접근하는 소프트웨어 디자인으로 볼 수 있다. 각 객체는 메시지를 받을 수도 있고, 데이터를 처리할 수도 있으며, 또다른 객체에게 메시지를 전달할 수도 있다. 각 객체는 별도의 역할이나 책임을 갖는 작은 독립적인 기계 또는 부품으로 볼 수 있다. 객체지향 프로그래밍은 보다 유연하고 유지보수하기 쉬우며 확장성 측면에서서도 유리한 프로그래밍을 하도록 의도되었고, 대규모 소프트웨어 개발에 널리 사용되고 있다. 자바스크립트는 멀티-패러다임 언어로 명령형(imperative), 함수형(f..

Language/Javascript 2023.07.30

[Javascript] Pass By Value/Reference 및 의도치 않은 객체 변경 해결법

변수 넘겨주는 방법 Pass(Call) by reference : 참조에 의한 전달 object type을 객체 또는 참조 타입이라 한다. 참조 타입이란 객체의 모든 연산이 실제값이 아닌 참조값으로 처리됨을 의미한다. 원시 타입은 값이 한번 정해지면 변경할 수 없지만(immutable), 객체는 프로퍼티를 변경, 추가, 삭제가 가능하므로 변경 가능(mutable)한 값이라 할 수 있다. 따라서 객체 타입은 동적으로 변화할 수 있으므로 어느 정도의 메모리 공간을 확보해야 하는지 예측할 수 없기 때문에 런타임에 메모리 공간을 확보하고 메모리의 힙 영역(Heap Segment)에 저장된다. var foo = { val: 10 }; var bar = { val: 10 }; console.log(foo.val, ..

Language/Javascript 2023.07.30

[Javascript] 자바스크립트 웹 Request(요청)과 Response(응답)

URL(Uniform Resource Locator) 웹에 존재하는 수많은 데이터 중에서 원하는 데이터를 특정하기 위해 URL을 사용한다. URL은 크게 호스트(host) + 패스(path) + 쿼리(query)로 이루어져 있다. URL을 입력하고 엔터를 치면, 웹 브라우저는 URL에서 호스트(host) 부분을 보고, 전 세계의 수많은 서버들 중에서 정확히 어느 서버와 통신을 해야 하는지를 찾는다. 어떤 서버와 통신해야 하는지를 식별했다면 웹 브라우저는 해당 서버로 Request를 보낸다. 이때 URL에서 패쓰(path) 이후의 부분들을 리퀘스트에 담아서 보낸다. 리퀘스트를 받은 서버는 리퀘스트에 담긴 패쓰(path) 이후의 부분들을 보고, 그것이 의미하는 데이터를 찾은 결과를 Response에 담아서 ..

Language/Javascript 2023.07.23
728x90