배열
전공서적/인사이드자바스크립트2017. 10. 26. 13:33
배열
배열은 자바스크립트 객체의 특별한 형태이다.
-> 즉, 굳이 크기를 지정하지 않아도 되며, 어떤 위치에 어느 타입의 데이터를 저장하더라도 에러가 발생하지 않는다.
배열 리터럴
배열리터럴은 자바스크립트에서 새로운 배열을 만드는데 사용하는 표기법이다.
객체리터럴 표기법 : ({ }) -> 중괄호
배열리터럴 표기법 : ([ ]) -> 대괄호
//배열 리터럴을 통한 5개 원소를 가진 배열생성
var colorArr = ['orange', 'yellow', 'blue', 'green', 'red'];
console.log([0]);
console.log([1]);
console.log([4]);
출력
(출력값) orange
(출력값) yellow
(출력값) red
객체 리터럴에서는 프로퍼티 이름과 프로퍼티값을 모두 표기해야 하지만,
배열리터럴에서는 각 요소의 값만 포함한다.
객체가 프로퍼티의 이름으로 대괄호나 마침표표기법을 이용해 해당 프로퍼티에 접근했다면,
배열의 경우는 접근하고자 한느 원소에 배열 내 위치 인덱스 값을 넣어서 접근한다.
배열 내의 첫 번째 원소는 인덱스0부터 시작한다.
<참고문헌 : 인사이드자바스크립트>
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
Array() 생성자 함수 (0) | 2017.11.16 |
---|---|
Javscript배열 리터럴 (0) | 2017.11.13 |
객체비교 (0) | 2017.10.25 |
함수 호이스팅 (1) | 2017.08.31 |
자바스크립트 참조타입(객체타입) (0) | 2017.08.30 |
객체비교
전공서적/인사이드자바스크립트2017. 10. 25. 10:35
객체비교
동등연산자(==)를 사용하여 두 객체를 비교할 때도 객체의 프로퍼티 값이 아닌 참조값을 비교한다는 것을 알아야 한다.
var a = 100;
var b = 100;
var objA = { value : 100 };
var objB = { value : 100 };
var objC = objB;
1번
console.log(a == b);
2번
console.log(objA == objB);
3번
console.log(objB == objC);
출력값
1번
console.log(a == b); //(출력값) true
2번
console.log(objA == objB); //(출력값) false
3번
console.log(objB == objC); //(출력값) true
1번
a와 b는 숫자100을 저장하고 있는 기본타입의 변수
기본타입으 경우 동등 연산자(==)를 이용해서 비교할때 값을비교
두 변수 모두 100이라는 동일한 값을 가지고 있으므로 a==b의 결과가 true
2번
아래그림처럼 objA와 objB는 다른객체지만 같은 형태의 프로퍼티값을 갖고있음
하지만 동등연산자(==)로 두 객체를 비교하면 1번과 다르게 결과가 false
-> 이유는 1번처럼 기본타입의 경우는 값 자체를 비교해서 일치여부를 판단하지만, 객체와 같은 참조타입의 경우는 참조값이 같아야 true
objA -> value : 100
objB ->
value : 100
objC ->
참고문헌 : <인사이트자바스크립트>
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
Javscript배열 리터럴 (0) | 2017.11.13 |
---|---|
배열 (0) | 2017.10.26 |
함수 호이스팅 (1) | 2017.08.31 |
자바스크립트 참조타입(객체타입) (0) | 2017.08.30 |
null 과 undefined (0) | 2017.08.30 |
모델2에서 Front Controller패턴으로
전공서적/코드로 배우는 Spring 웹 프로젝트2017. 10. 24. 17:26
모델2에서 Front Controller패턴으로
Front Controller 적용원인
1. 각 컨트롤러 사이의 중복적인 코드의 문제
2. 개발자의 개발패턴의 차이
=> 이로인해 모델2방식은 좀 더 강제적인 형태인 Front Controller방식을 적용
Front Controller패턴의 가장 중요한 변화는 전체 로직의 일부만을 컨트롤러가 처리하도록 변경 == '위임' (Delegation)
전체로직의 일부를 컨트롤러에게 위임하고 모든 흐름의 제어는 앞쪽의 Fornt Controller가 담당
-> 이런 구조를 사용하게 될 경우
1. 개발자가 작성하는 컨트롤러는 전체 로직의 일부분만을 처리 => 개발자가 작성해야 하는 전체코드가 줄어듬
2. 모든 컨트롤러는 Front Controller의 일부분을 구현한느 형태이므로, 좀 더 규격화된 코드 구현 가능
<참고문헌 : 코드로 배우는 Spring 웹 프로젝트>
'전공서적 > 코드로 배우는 Spring 웹 프로젝트' 카테고리의 다른 글
모델2패턴의 이해 (0) | 2017.10.24 |
---|
모델2패턴의 이해
전공서적/코드로 배우는 Spring 웹 프로젝트2017. 10. 24. 10:33
모델2패턴의 이해
스프링 MVC는 모델2방식 구조르 이요하기 때문에 이론적으로 모델2방식에 대한 이해가 필요하다
최근의 모든 웹 개발은 거의 모델2방식을 사용한다.
모델2방식은 흔히 MVC구조를 응용하는 것이라고 생각하는데 가장중요한것
-> 화면과 데이터 처리를 분해해서 재사용이 가능하도록 하는 구조
모델2구조에서는 다음과 같은 용어들이 사용된다
모델(Model) |
데이터 혹은 데이터를 처리하는 영역을 의미한다 |
뷰(View) |
결과 하면을 만들어 내는 데 사용하는 자원이다 |
컨트롤러(Controller) |
웹의 요청(request)을 처리하는 존재로 뷰와 모델사이의 중간 통신 역할을 한다 |
컨트롤러는 모델계층과 연동해서 필요한 데이터를 처리하고, 결과를 뷰로 전송하게 된다.
모델2에서 모든 요청은 기본적으로 컨트롤러를 호출한다.
각 컨트롤러는 자신을 호출하는 특정한 URL경로를 가지고 있다.
모델2방식의 장점 |
개발자와 웹 퍼블리셔의 영역을 분리할 수 있다 |
컨트롤러의 URL을 통해서 뷰를 제어하기 때문에, 뷰의 교체나 변경과 같은 유지보스에 유용 |
<참고문헌 : 코드로 배우는 Spring 웹 프로젝트>
'전공서적 > 코드로 배우는 Spring 웹 프로젝트' 카테고리의 다른 글
모델2에서 Front Controller패턴으로 (0) | 2017.10.24 |
---|