지적 코딩을 위한 매우 얕은 지식
반응형

Javascript/Js 25

JS 객체(1)

1. 객체 란 - 객체는 여러가지 값을 모아서 이름을 통해 값을 저장하고 가져올 수 있음 - 순서 없는 집합이며, 각 프로퍼티에는 이름과 값이 있음 - "프로토타입"으로 불리는 다른 객체에서 프로퍼티를 상속할 수 있음 - 프로퍼티 속성 1) 쓰기 가능(writable) : 프로퍼티에 값을 설정 여부 2) 열거 가능(enumerable) : for/in 루프에 프로퍼티 이름 반환여부 3) 변경 가능(configurable) : 프로퍼티 삭제 여부, 속정 변경 여부 2. 객체 생성 - 객체 생성 시 new, object.create() 함수를 사용 - 객체 리터럴 1) 가장 단순한 형태의 객체 생성 → {이름:값} 2) 프로퍼티명은 문자열 리터럴이고 빈 문자도 허용 3) 마지막 프로퍼티 뒤에 콤마 가능 le..

Javascript/Js 2022.05.29

JS 반복문

1. While - 표현식 값이 true일때 까지 블록 내에 코드를 반복한다. - 무한 루프를 만들수 있다. let count = 0: while(count < 10) { console.log(count); count++; } 2. do/while - while문과 비슷하지만 첫번째 루프는 무조건 실행한다. function printArray(a) { let len = a.length, i = 0; if (len === 0) { console.log("Empty Array"); } else { do { console.log(a[i]); } while(++i < len) } } 3. for - 카운트 변수를 초기화해서 해당 변수가 어떤 값이 도달할때 까지 루프 수행 - 구조는 for(변수 초기화, 변수 조..

Javascript/Js 2022.05.25

JS 표현문, 선언문, 조건문

문 : 자바스크립트의 문장이나 명령어로 세미클론으로 끝난다. 1. 표현문 - 부수 효과가 있는 표현식 // 변수 값을 바꾸는 부수효과 greeting = "Hello " + name; i *= 3 // 함수 호출은 표현식이지만 프로그램 상태나 호스트 환경에 // 영향을 미치는 부수효과가 있음 console.log(debugMessage); displaySpinner() //웹 앱에서 스피너를 표시하는 가상의 함수 2. 복합문과 빈 문 - 복합문 : 여러 개의 문이 중괄호(문블록)로 묶여져 있는 것 - 빈문 : 문이 있을 것으로 예상되는 곳에 문을 쓰지 않는 것 // 복합문 예제 { x = Math.PI; cx = Math.cos(x); console.log("cos(π) = " + cx); } // 빈문..

Javascript/Js 2022.05.24

JS 연산자

1. 자바스크립트 연산자 - 산술 표현식, 비교 표현식, 논리 표현식, 할당 표현식 등 사용 - 자바스크립트 연산자 종류(연산자 우선순위 기준으로 정렬) 연산자 동작 A (결합성) N (연산자 갯수) 타입 ++ 전위(후위)증가 R 1 lval → num -- 전위(후위)감소 R 1 lval → num - 숫자의 부호 변경 R 1 num → num + 숫자로 변환 R 1 any → num ~ 비트를 반대로 R 1 int → int ! 불 값을 반대로 R 1 bool → bool delete 프로퍼티 제거 R 1 lval → bool typeof 피연산자의 타입을 변환 R 1 any → str void undefined 값을 반환 R 1 any → undef ** 지수 R 2 num,num → num *, ..

Javascript/Js 2022.05.23

JS 표현식

표현식 : 어떤 값으로 평가(evaluate) 되는 구절 1. 기본 표현식 - 단독으로 존재하며 자신보다 더 단순한 표현식은 포함하지 않음 - 리터럴 : 1.23 → 숫자 리터럴, "hello" → 문자열 리터럴, /pattern/ → 정규 표현식 리터럴 - 예약어 : true, false, null, this → 현재 객체로 평가 - 변수, 상수, 전역 객체의 프로퍼티 : 1) i → 변수 i의 값으로 평가 2) sum → 변수 sum의 값으로 평가 3) undefined → 전역 객체의 "undefined" 프로퍼티 값 - 자바스크립트 프로그램에 있는 식별자를 변수,상수 또는 전역 객체의 프로퍼티라고 가정하고 그 값을 찾는다. 그런 이름의 변수가 존재하지 않으면서 해당 변수 평가 하려는 시도는 ref..

Javascript/Js 2022.05.22

JS 타입, 변수 | 변수 선언과 할당

1. let - 변수 선언시 사용 - 변수에 초기 값을 할당하지 않으면 undefined를 가진다. ex) let message = "hello"; let i = 0, j =0, k =0; let x = 2, y = x*x; //직전에 선언한 변수를 이용해 초기화 가능 2. const - 상수 선언시 사용 - 식별자는 대문자로 작성 - 선언할 때 반드시 초기화 해야함 - 초기값을 설정한 이후에는 바꿀수 없다.(변경 시도하면 TypeError 발생) ex) const H0 = 74; // 허블 상수 const C = 299792.458; // 진공에서의 광속 3. var - ES6 이전의 자바스크립트 선언 방식 - let 문법과 유사 - var 선언한 변수는 블록 스코프를 갖지 않는다. 선언된 스코프의 깊..

Javascript/Js 2022.05.22

JS 타입, 변수 | 타입 변환

1. 타입 변환 - 자바스크립트는 타입을 강제하지 않음, 필요에 따라 자동변환 (변환이 안될 경우 NaN으로 변경) - 조합 타입 변환 1) 숫자 + 문자열 → 문자열 2) 문자열 + 문자열 → 문자열 3) 숫자 - 문자열 → NaN 4) 변수 + 문자 → NaN - 주요 타입 변환 값 문자열 숫자 boolean undefined "undefined" NaN false null "null" 0 false true "true" 1 false "false" 0 ""(빈문자열) 0 false "1.2"(숫자) 1.2 true "one"(문자열) NaN true 0 "0" false -0 "0" false 1(유한한 숫자) "1" true Infinity "Infinity" true -Infinity "-Inf..

Javascript/Js 2022.05.21

JS 타입, 변수 | Symbol, 전역 객체, 객체 참조

1. Symbol - Symbol은 변경 불가능한 원시 타입으로, 고유의 값을 가진다. - 오브젝트의 유일한 프로퍼티 키를 만들거나, 고유한 상수 값을 만들때 사용 - Symbol은 함수를 호출할 때마다 이름의 충돌이 없는 Symbol 값이 생성된다. let symbol1 = Symbol(); let symbol2 = Symbol("propname"); // propname이라는 인자는 별도 기능없이 해당 심블에 대한 설명 let obj = {}; obj[symbol1] = "test1" // 오브젝트에 symbol1 값을 프로퍼티로 사용 (심블은 고유값을 생성하기 때문에 충돌 x) obj[symbol2] = "test2" 2. Symbol.iterator - 특정 객체가 Symbol.iterator를 ..

Javascript/Js 2022.05.21

JS 타입, 변수 | 템플릿, 패턴매칭, boolean

1. 템플릿 리터럴 - ES6부터는 백틱으로 감싼 문자열 리터럴을 사용할 수 있다. ex) let s = `hello world` - 백틱내에서 ${ }으로 감싼 안에 일반변수를 넣으면 해당값이 문자열로 결합되어 출력된다. ex) let name = "Bill"; let greeting = `Hello ${name},`; 결과) greeting => "Hello Bill." 2. 패턴 매칭 - 정규 표현식(RegExp) 데이터 타입 - 슬래시 한 쌍 사이에 텍스트를 씀 ex) /^HTML/; → 문자열의 시작 부분에 있는 HTML에 일치 /[1-9][0-9]*/; → 0이 아닌 숫자가 하나 있어야 하고 그 뒤의 숫자는 제한이 없음 /\bjavascript\b/i; javascript가 한 단어로 들어가야..

Javascript/Js 2022.05.20
반응형