일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트
- 자바스크립트 round
- 프로그래머스 옹알이
- 자바스크립트 for of
- 데이터베이스 key
- 알고리즘
- 자바스크립트 pow
- 자바스크립트 for in
- JS
- 프로그래머스 알고리즘
- 자바스크립트 max
- reduce
- 프로그래머스 js
- 프로그래머스 자릿수 더하기
- 딥다이브 변수
- 자바스크립트 ceil
- 프로그래머스
- 프로그래머스 입문
- 프로그래머스 자바스크립트
- 자바스크립트 min
- 자바스크립트 sqrt
- 선점 비선점
- 다단계큐
- 자바스크립트 abs
- 알고리즘 js
- 디자인 패턴
- programmers
- 변수 js
- 자바스크립트 floor
- javascript
- Today
- Total
목록분류 전체보기 (51)
eazyseon
16.1 내부 슬롯과 내부 메서드 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다. ECMAScript 에 정의된대로 구현은 되어있으나 공개된 객체의 프로퍼티는 아니여서 직접 접근과 호출은 할 수 없다. 단, 일부 내부 슬롯과 내부 메서드는 간접적 접근이 가능하다. 예를 들어 모든 객체는 [[prototype]]이라는 내부 슬롯은 갖는다. 이 내부 슬롯은 .__proto__를 통해 간접적으로 접근이 가능하다. 16.2 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 자바스크립트 엔진은 프로퍼티를 생성할때 프로퍼티의 상태를 나타내는프로퍼티 어트리뷰트를 기본값으로 자동 정의한다. 프로퍼티의 값, 값의 갱신 가능 여부,열거 가능 여부,재정의 ..
12.1 함수란? 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. function add (x,y) { return x+y; } add(2,5); x,y => 매개변수 return => 반환값 2,5=>인수 12.2 함수를 사용하는 이유 실행 시점을 개발자가 결정할 수 있고 몇 번이든 재사용이 가능하며 유지보수의 편의성을 높이고 코드의 신뢰성을 높인다. 함수의 이름은 자신의 역할을 잘 설명해야 한다. 내부 코드를 이해하지 않고도 함수의 역할을 파악할 수 있게 도와 코드의 가독성을 향상시킨다. 12.3 함수 리터럴 12.4 함수 정의 함수 선언문, 함수 표현식, function 생성자 함수, 화살표 함수 - 함수 선언문 function add (x,y) { return x+..
15.1 var 키워드로 선언한 변수의 문제점 -변수 중복 선언 허용 var 키워드로 선언한 변수는 중복 선언이 가능하다. 초기화문이 없는 변수 선언문은 무시된다. 에러는 발생하지 않는다. var x = 1 var y = 1; var x = 100; var y;//초기화문이 없는 변수 선언문은 무시된다. console.log(x);//100 console.log(y);//1 -함수 레벨 스코프 var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정한다. 그래서 if문이나 for문에서 선언한 변수는 전역 변수가 된다. - 변수 호이스팅 var 키워드로 변수를 선언하면 변수 선언문이 스코프의 선두로 끌어 올려진 것처럼 동작한다. 그래서 선언문 이전에 참조하면 undefined를 반환한..
14.1 변수의 생명 주기 전역 변수의 생명 주기는 애플리케이션의 생명 주기와 같다. 함수 내부에서 선언된 지역 변수는 함수가 호출되면 생성되고 종료하면 소멸한다. function foo(){ var x = 'local';//변수 x 생성,할당 console.log(x); return x;//변수 x 소멸 } foo(); console.log(x)//ReferenceError: x is not defined 지역 변수의 생명 주기는 함수의 생명 주기와 일치한다. var x = 'global'; function foo(){ console.log(x);//undefined var x = 'local'; } foo(); console.log(x)//'global' 위 예제를 통해 호이스팅은 스코프 단위로 동작..
13.1 스코프란? function add (x,y) { console.log(x,y) //2 5 return x + y; } add(2,5); console.log(x,y); //ReferenceError: x is not defined var var1 = 1; if (true) { var var2 = 2; if (true) { var var3 = 3; } } function foo() { var var4 = 4; function bar() { var var5 = 5; } } console.log(var1); //1 console.log(var2); //2 console.log(var3); //3 console.log(var4); //ReferenceError: var4 is not defined co..
8.1 블록문 0개 이상의 문을 중괄호로 묶은 것 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다. 8.2 조건문 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정한다. 불리언 값으로 평가될 수 있는 표현식이다. - if else if (조건식) { 참일 경우 실행되는 블록 } else { 거짓일 경우 실행되는 블록 } if (조건식1) { 조건식 1이 참일 경우 실행되는 블록 } else if (조건식2) { 조건식 2가 참일 경우 실행되는 블록 } else { 거짓일 경우 실행되는 블록 } else if를 여러번 사용할 수도 있고, 코드 불록 내의 문이 하나라면 중괄호는 생략 가능! if else문은 삼항 연산자로 바꿔 쓸 수 있다! ..
연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입 지수 연산 등을 수행해 하나의 값을 만든다. 연산의 대상인 피연산자는 값으로 평가될 수 있는 표현식 이어야 한다. 7.1 산술 연산자 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 산술 연산이 불가능한 경우 NaN을 반환한다. - 7.1.1 이항 산술 연산자 (+ , - , * , / , %) 2개의 피연산자를 산술 연산하여 숫자 값을 만든다. 언제나 새로운 값을 만든다. - 7.1.2 단항 산술 연산자 (++ , -- , + , -) 1개의 피연산자를 산술 연산하여 숫자 값을 만든다. ++와 --는 피연산자의 값을 변경하는 부수 효과가 있어 암묵적 할당이 이루어진다. ++,-- 는 위치에 따라 전위/후위로 나..
원시타입 - 숫자,문자열,불리언,undefined,null,symboll 객체타입 - 객체,함수,배열 등 6.1 숫자 타입 원시 자바스크립트는 하나의 숫자 타입만 존재한다. 모든 수를 실수로 처리하며, 정수를 표현하기 위한 타입은 별도로 존재하지 않는다. 자바스크립트는 대소문자를 구별한다. 그래서 NaN을 Nan, nan과 같이 표현하면 에러가 발생한다. 6.2 문자열 타입 원시 텍스트 데이터를 나타내는 데 사용한다. ' ' , " " , ` `으로 텍스트를 감싼다. 따옴표로 감싸지 않으면 키워드나 식별자로 인식하기 때문이다. 6.3 템플릿 리터럴 백틱을 사용해 표현하고 런타임시 일반 문자열로 변환되어 처리한다. 템플릿 리터럴 내에서는 줄바꿈/ 표현식 삽입이 가능하다. let str = `Hello wo..