목록언어 (28)
-
SOLID 원칙 SRP : 단일 책임 원칙- Single Responsibility Principle- 객체는 오직 하나의 책임을 가져야 한다. OCP : 개방 - 폐쇄 원칙- Open Closed Principle- 객체는 확장에 대해서는 개방적이고 수정에 대해서는 폐쇄적이어야 한다. LSP : 리스코프 치환 원칙- Liscov Substitution Principle- 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있다.- 부모 클래스가 들어갈 자리에 자식 클래스를 넣어도 계획대로 잘 동작해야 한다 ISP : 인터페이스 분리 원칙- Interface Segregation Principle- ?? DIP : 의존성 역전 원칙- Dependency Inversion Principle- 추상성이 높..
http://hashcode.co.kr/questions/857/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-string%EA%B0%9D%EC%B2%B4%EC%99%80-%EB%AC%B8%EC%9E%90%EC%97%B4-string%EC%9D%98-%EC%B0%A8%EC%9D%B4%EA%B0%80-%EB%AD%94%EA%B0%80%EC%9A%94
#####함수#### 1. 함수 생성법함수 : 여느 언어에서의 함수와 같은 기능을 함.그 이외에도 모듈화 처리, 클로저, 객체 생성 등 자바스크립트의 근간이 되는 많은 기능 제공.자바스크립트에서는 함수도 일반 객체처럼 값으로 취급됨(일급객체)리턴값과 매개변수로 넘기는 값에 변수타입을 기술하지 않는다. ** 함수 리터럴함수 선언문이나 함수 표현식 모두 이런 함수 리터럴 방식으로 함수를 생성함.함수리터럴은 function 키워드로 시작한다. a. 함수 선언문 방식반드시 함수명이 정의되어 있어야 한다. 123456//add 함수 선언문function add(x, y) { return x + y;} console.log(add(3, 4)); //(출력값) 7cs함수명(add)이 있고, 이 함수ㅜ명으로 함수를 호..
==(동등)연산자와 ===(일치) 연산자 1. ==(동등)연산자 비교하려는 피연산자의 타입이 다를 경우에 타입 변환을 거친 다음 비교 동등연산자로 두 객체를 비교할 때도 객체의 프로퍼티값이 아닌 참조값을 비교한다.12345678910var a = 100;var b = 100; var objA = {value:100};var objB = {value:100};var objC = objB; console.log(a == b); //(출력값) trueconsole.log(objA == objB); //(출력값) falseconsole.log(objB == objC); //(출력값) truecs 2. ===(일치)연산자 피연산자의 타입이 다를 경우에 타입을 변경하지 않고 비교 12console.log(1 == ..
# 유사배열객체- 일반 객체에 length 프로퍼티가 있는 경우- 객체임에도 불구하고 자바스크립트의 표준 배열 메서드를 사용하는 게 가능하다.12345678var arr = ['bar'];var obj = {name: 'foo', length:1}; arr.push('baz');obj.push('baz'); // error!, 유사배열객체 이지만 객체는 아니다~! Array.prototype.push.apply(obj, ['baz']);console.log(obj); //(출력값){'1': 'baz', name: 'foo', length:2}cs- arguments 객체나 jQuery 객체가 유사배열객체 형태로 되어 있다.
# 배열은 자바스크립트 객체의 특별한 형태.- C나 JAVA와 배열과 같은 기능을 하는 객체지만,- 크기 지정 X, 데이터 타입 상관없음. ## 배열 리터럴- 새로운 배열을 만드는 데 사용하는 표기법.- 대괄호를 사용1234var colorArr = ['orange', 'yellow', 'blue', 'green', 'red'];console.log(colorArr[0]); //(출력값) orangeconsole.log(colorArr[1]); //(출력값) yellowconsole.log(colorArr[2]); //(출력값) redcs배열 내 위치 인덱스값을 넣어서 접근.인덱스 0부터 시작- 객체와 같이 동적으로 배열 원소를 추가할 수 있다.- 값을 순차적으로 넣을 필요 없다.12345678910va..
객체javascript에서 객체는 단순히 '이름(key):값(value)' 형태의 프로퍼티들을 저장하는 컨테이너이다.컴퓨터과학 분야에서 Hash라는 자료구조와 상당히 유사하다.자바스크립트에서 기본 타입은 하나의 값만을 가지는 데 비해, 참조 타입인 객체는 여러 개의 프로퍼티들을 포함할 수 있다.이 프로퍼티들은 기본 타입의 값을 포함하거나, 다른 객체를 가리킬 수도 있다.함수도 객체의 프로퍼티일 수 있다. 이러한 프로퍼티를 메서드라 부른다. * javascript에서의 객체의 의미는 생성 방법이나 상속 방식 등에서 c++이나 java와같은 기존 객체지향 언어에서의 객체 개념과는 약간 다르다.- 자바 : 클래스를 정의하고, 클래스의 인스턴스를 생성하는 과정에서 객체가 만들어진다.- 자바스크립트 : 클래스라는..
자바스크립트의 모든 객체는 자신의 부모 역할을 하는 객체와 연결되어 있다.이것은 객체지향의 상속 개념과 같이 부모 객체의 프로퍼티를 마치 자신의 것처럼 쓸 수 있는 것 같은 특징이 있다.이러한 부모 객체를 프로토타입 객체(짧게는 프로토타입)라 부른다. ECMAScript 명세서는 자바스크립트의 모든 객체는 자신의 프로토타입을 가리키는 [[Prototype]]라는 숨겨진 프로퍼티를 가진다고 설명한다.크롬 브라우저에서는 __proto__가 [[Prototype]] 을 의미한다.(크롬 브라우저에서는 [[Prototype]]가 __proto__ 형태로 구현되어 있다.) - 객체 리터럴 방식으로 생성된 객체의 경우 Object.prototype 객체가 프로토타입 객체가 된다.
1. 객체자바스크립트의 거의 모든 것은 객체.(boolean, number, string - 기본 데이터 타입 / null, undefined 제외)사실, boolean, number, string의 기본 데이터타입도 객체처럼 다룰 수 있다.2. 함수함수도 객체로 취급.일반적인 객체보다 조금 더 많은 기능이 있는 객체라고 할 수 있음.함수는 일급객체로 다루어짐3. 프로토타입모든 객체는 숨겨진 링크인 플토타입을 가진다.이 링크는 해당 객체를 생성한 생성자의 프로토타입 객체를 가리킨다.4. 실행컨텍스트와 클로저자신만의 독특한 과정으로 실행 컨텍스트를 만들고 그 안에서 실행이 이루어 짐.실행컨텍스트는 자신만의 유효범위를 갖는다.이 과정에서 클로저 구현 가능.5. 자바스크립트의 객체지향 프로그래밍클래스를 지원하..
문자열 비교하는데 쓰이는 equals!! equals를 사용하는데 간단한 팁이 있다면~ 1var.equals("test");cs요런 형식 보다 1"test".equals(var);cs요런 형식을 쓰는 게 좋다고 한다. 왜냐하면~변수 var에 null값이 전해질 수 있기 때문이다. 그래서 1var.equals("test");cs이렇게 쓰면, 에러가 날 수 있는데 1"test".equals(var);cs이렇게 쓰면 위 상황에서 발생할 수 있는 에러를 피할 수 있다 간단한~~팁!!