객체, 모듈, 정규표현식
<객체 { }>
: 배열(연관된 데이터 담는 그릇)과 유사한 역할
: 인덱스의 값으로 문자를 사용 -> 문자, 숫자, 직접 원하는 데이터로 지정 가능
: key : value 값으로 넣어야 한다 -> 저장순서는 존재X
ex) 1) var grades = { 'cho' : 10, 'ming' : 80 }
2) var grades = {};
grades['cho'] = 10;
grades['ming'] = 80;
☞ 객체명.[key]; / 객체명.key : value값 가져옴
☞ for(key in 객체명) { } ;
* 배열도 사용가능
* 객체 value값으로 또다른 객체, 함수도 들어올 수 있다
<모듈>
: 코드들을 재사용할수있는 단위로 나눠서 별도의 모듈이라는 형태로 떼어내 또 다른 프로그램에 부품으로 재사용
: 함수처럼 사용하는건데 파일로 나누는것
* 주소 지정해주고 다른 파일에서도 끌어와 사용 가능
* 라이브러리
: 자주 사용되는 로직 재사용하기 편리하도록 잘 정리한 코드들의 집합
: 모듈과 비슷
: javascript의 유명 라이브러리는 jquery
*F12 -> Network : 현재 웹페이지에서 다운로드받은 파일을 확인할 수 있음
<UI>
: User Interface
: 사용자에서 컴퓨터와 의사소통이 가능하게 만드는 접점을 의미 -> 행함으로써 특정한 결과를 얻는다
: 컴퓨터에게 전달하는 입력장치들, 컴퓨터의 계산결과나 어떤 상태를 사람에게 알려주는 출력장치에 해당
: 사용자가 버튼 등,, 을 통해 웹 브라우저 제어
<API>
: Application Programming Interface
: 개발자가 코드를 통해 응용해 웹브라우저와 같은 플랫폼 제어
: 프로그램을 작성하기 위한 일련의 부(Sub) 프로그램
: API의 핵심은 정의된 프로토콜을 기반으로 상호 작용을 할 수 있도록 일종의 약속된 시스템
: alert(), button(),,,,,,
<정규표현식>
: 문자열에서 특정한 문자를 찾아내는 도구
: 어떠한 텍스트 안에 있는 여러 정보들 중에서 어떤 패턴에 해당되는 것을 찾아서 다른 텍스트로 치환해야할때
: 컴파일(작업하기 위해 필요한 대상을 찾는 것) / 실행(어떠한 작업을 구체적으로 하는 것) 단계로 나뉨
☞ 패턴만들기 == 대상찾기
1) 정규표현식 리터럴
var pattern = /a/; // / / 사이의 a가 우리가 찾고자 하는 대상이라고 알려줌
// pattern이라는 변수를 통해 찾고자하는 대상을 사용할 수 있다
// /a./ .은 하나의 문자를 가르킴
2) 정규표현식 객체 생성자
var pattern = new RegExp('a'); // a라는 문자를 찾고자 한다
☞ 실행 == 구체적인 작업
1) 패턴에 해당하는 정보 추출
pattern.exec('대상');
2) 존재하는지 아닌지 test
pattern.test('대상') -> true/false
☞ 문자열 메서드 실행
1) 문자열 변수.match(pattern); // 정보 추출
2) 문자열 변수.replace(pattern, 'A'); // 치환
☞ 옵션
i == 대소문자를 구분하지 않는다 => var pattern = /a/i;
g == 검색된 모든 결과를 리턴한다 => var pattern = /a/g;
* var pattern = /a/ig; 가능, 대소문자 구분하지않고 모든 결과를 찾겠다
* /(|w+)|s(|w+)/ => ( )괄호는 그룹, |w 문자의미a-zA-Z0-9, +는 하나이상, |s 공백