본문 바로가기

공부/JavaScript

(9)
TCP School | 7. 객체 27. 객체의 개념 object : 실생활에서 우리가 인식할 수 있는 사물. 객체의 예 object(객체) / property(속성) / method(행위) 자바스크립트 객체 : 자바스크립트의 data type은 object 입니다. object : name과 value로 구성된 property의 정렬되지 않은 집합. method : 값으로 function이 오는 property. : 자바스크립트에서는 숫자, 문자열, 불리언, undefined 타입을 제외한 모든 것이 객체. 하지만 원시 타입(숫자, 문자열, 불리언)은 값이 정해진 객체로 취급되어 객체로서의 특징도 가지게 됨. : 메소드를 참조할 때 괄호(())를 붙이지 않으면, 메소드가 아닌 프로퍼티 그 자체를 참조하게 됨. 메소드의 정의 그 자체가 ..
TCP school | 6. 함수 22. 함수의 기초 함수 : 하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록. 필요할 때마다 호출하여 해당 작업 반복해서 수행 가능. 블록 : 함수나 실행문의 중괄호({})로 묶여진 부분. 자바스크립트 함수 : 자바스크립트에서는 함수도 하나의 datatype임. : 함수를 변수에 대입하거나 함수에 프로퍼티를 지정하는 것도 가능. : 함수는 다른 함수 안에 중첩되어 정의될 수도 있음. 함수의 정의 함수의 구성요소 1. 함수의 이름 2. 괄호 안에 쉼표(,)로 구분되는 함수의 매개변수(parameter) 3. 중괄호({})로 둘러싸인 자바스크립트 실행문 매개변수(parameter) : 함수를 호출할 때 인수로 전달된 값을 함수 내부에서 사용할 수 있게 해주는 변수. 인수(argument) : 함..
Property(프로퍼티) 프로퍼티 : 어떤 값. 이 값이 다른 값과 연관을 가지고 있을 때 프로퍼티라고 부름. ex) String에는 length라는 property가 있음. : property는 해당 object의 특징. 보통 데이터 구조와 연관된 속성을 나타냄. Instance Property : 특정 object instance의 특정한 데이터 가지고 있음. Static Proerty : 모든 object instance들에게 공유된 데이터를 가지고 있음. : property는 이름(a string)과 값(primitive, method 또는 object reference)을 가지고 있음. : property의 값이 변한 후에도 object는 그대로 남아 있음. : 공백, 기호, 숫자로 시작하는 유효하지 않는 변수명도 사용..
TCP school | 4. 제어문 17. 조건문 제어문(control flow statements) : 프로그램의 순차적인 흐름을 제어해야 할 때 사용하는 실행문. 조건문(conditional statements) : 표현식의 결과에 따라 별도의 명령을 수행하도록 제어하는 실행문. 1. if 문 : 실행문이 한 줄이면 중괄호({}) 생략 가능. 2. if / else 문 : 실행문이 한 줄이면 중괄호 생략 가능. 3. if / else if / else 문 4. switch 문 : default 절은 어떠한 case 절에도 해당하지 않을 때 실행. 반드시 존재해야 하는 것은 아님. 반드시 마지막일 필요도 없음. : case 절과 default 절은 반드시 break 키워드를 포함하고 있어야 함. : break 키워드는 조건 값에 해당하는..
TCP school | 3. 연산자 10. 산술 연산자 산술 연산자(arithmetic operator) : 사칙연산. : 두 개의 피연산자를 가지는 이항 연산자. : 피연산자들의 결합 방향은 왼쪽에서 오른쪽. 항 : 연산의 실행을 위해 필요한 값이나 변수. % : 왼쪽 피연산자의 값을 오른쪽 피연ㅅ나자의 값으로 나눈 후, 그 나머지 반환. 연산자의 우선순위(operator precedence)와 결합 방향(associativity) 우선순위 연산자 설명 결합 방향 1 () 묶음(괄호) - 2 . 멤버 접근 왼쪽에서 오른쪽으로 new 인수 있는 객체 생성 - 3 () 함수 호출 왼쪽에서 오른쪽으로 new 인수 없는 객체 생성 오른쪽에서 왼쪽으로 4 ++ 후위 증가 연산자 - -- 후위 감소 연산자 - 5 ! 논리 NOT 연산자 오른쪽에서 ..
TCP school | 2. 타입 7. 기본 타입 primitive type(원시 타입) 1. number 2. string 3. boolean 4. symbol 5. undefined object type 6. object : 다른 언어와 달리 정수와 실수 구분하지 않고 모든 수를 실수 하나로만 표현. : 매우 큰 수나 매우 작은 수는 e 표기법 사용. : 숫자와 문자열 더하는 것 가능. 숫자를 문자열로 자동 변환하여 두 문자열을 연결. : ECMAScript 6부터 제공됨. : 유일하고 변경할 수 없는 타입으로 객체의 프로퍼티를 위한 식별자로 사용 가능. : 익스플로러에서 지원하지 않음. : 피연산자의 타입을 반환하는 피연산자가 단..
TCP school | 1. 자바스크립트 시작 1. 자바스크립트 개요 JavaScript - 객체 기반의 스크립트 언어. - 웹의 동작 구현 가능. - 주로 웹 브라우저에서 사용되나 Node.js 같은 프레임워크 사용하면 서버 측 프로그래밍 가능. - 컴퓨터나 스마트폰에 포함된 대부분의 웹 브라우저에는 자바스크립트 인터프리터 내장. 2. 자바스크립트 기초 특징 1. 객체 기반의 스크립트 언어 2. 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어. 3. 객체 지향형 프로그래밍과 함수형 프로그래밍 모두 표현 가능. C언어 같은 언어는 소스 파일 작성 후, 해당 파일을 컴파일하여 사용자가 실행할 수 있는 실행 파일(.exe)로 만들어 사용. 하지만 인터프리터 언어는 컴파일 작업을 거치지 않고, 소스 코드를 바로 실행할 수 있는 언어. 웹 브라우저에 ..
JavaScript의 역사 자바스크립트의 탄생 : 1995년 웹 브라우저 시장을 점유하고 있던 넷스케이프 사가 가벼운 프로그램 언어를 통해 HTML 페이지의 움직임을 주고 싶었음. 그래서 브랜든 아이크를 고용했는데 10일 만에 언어 완성. : 처음에는 "Mocha"라는 이름, 그 다음 "LiveScript", 그 다음 "JavaScript". Java의 유명세를 이용하기 위해. 표준화 작업 : 자바스크립트가 인기를 끌자 MS 사에서도 IE 3.0에서 동작하는 "JScript"라는 매우 비슷한 언어를 만들어냄. 그 외에도 다양한 브라우저들이 개별적으로 자바스크립트 문법을 만들어냄. 그래서 호환성 때문에 고생. : 넷스케이프 사는 표준화를 하기 위해 표준화 기구인 ECMA International에 요청, 1997년 7월 표준이 완성..