js (7) 썸네일형 리스트형 [Javascript] 배열 기초 + 프로퍼티 (1/27) 배열의 생성 배열 리터럴 0개 이상의 값을 쉼표로 구분하여 대괄호로 묶는다. 첫번째 값은 인덱스 '0'으로 읽을 수 있다. 존재하지 않는 요소에 접근하면 undefined를 반환한다. const arr = []; console.log(arr[1]); //undefined const arr = ['zero', 'one']; console.log(arr[1]); // 'one' console.log(typeof arr); //object 배열 리터럴은 객체 리터럴과 달리 프로퍼티명이 없고 각 요소의 값만이 존재한다. 객체는 프로퍼티 값에 접근하기 위해 대괄호 표기법 또는 마침표 표기법을 사용하며 프로퍼티명을 키로 사용한다. 배열은 요소에 접근하기 위해 대괄호 표기법만을 사용하며 대괄호 내에 접근하고자 하는 .. [Javascript] Date 객체 (1/21) Date 객체는 날짜와 시간을 위한 메소드를 제공하는 빌트인 객체이면서 생성자 함수 이다. Date 생성자 함수로 생성한 Date 객체는 내부적으로 숫자값을 갖는다. 이 값은 1970년 1월 1일 00:00(UTC)을 기점으로 현재 시간까지의 밀리초를 나타낸다. UTC(협정 세계사: Coordinated Universal Time)는 GMT(그리니치 평균시 : Greenwich Mean Time)로 불리기도 한다. UTC와 GMT는 초의 소숫점 잔위에서만 차이가 나기 때문에 일상에서는 혼용되어 사용된다. 기술적인 표기에서는 UTC가 사용된다. KST(Korea Standard Time)는 UTC/GMT에 9시간을 더한 시간이다. 즉, KST는 UTC/GMT보다 9시간이 빠르다. 현재의 날짜와 시간은 자바.. [Javascript] Math 객체 (1/20) Math 객체는 수학 상수와 함수를 위한 프로퍼티와 메소드를 제공하는 빌트인 객체 이다. Math 객체는 생성자 함수가 아니다. 따라서, Math객체는 정적 프로퍼티와 메소드만을 제공한다. Math Property Math.PO PI값 (약 3.14)을 반환한다. console.log(Math.PI); // 3.141592653589793 Math Method Math.abs(x: number):number 인수의 절대값을 반환한다. 반드시 0 또는 양수다. Math.abs(-1); // 1 Math.abs('-1'); // 1 Math.abs(''); // 0 Math.abs([]); // 0 Math.abs(null); // 0 Math.abs(undefined);// NaN Math.abs({});.. [Javascript] 자바스크립트 (1/19) 18일 한것은 정리가 조금 필요할 것 같아서 내일 올려야겠다. 순서가 바뀐 것은 애교로 봐달라 > yyy > xxx 순으로 실행된다. 실행 컨텍스트의 3가지 객체 실행 컨텍스트는 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이지만 물리적으로는 객체의 형태를 가지며 3가지 프로퍼티를 가진다. 프로퍼티 예시 Variable Object {vars, function, declaration, arguments...} Scope Chain {Variable Object + all parent scopes thisValue Context Object Variable Object (VO/ 변수 객체) 실행 컨텍스트가 생성되면 자바스크립트 엔진은 실행에 필요한 여러 정보들을 담을 객체를 생성한다. 이를 VO라 .. [Javascript] 자바스크립트 (1/17) argument 프로퍼티 arguments 객체는 함수 호출 시 전달된 인수(argument)들의 정보를 담고 있는 순회가능한(iterable) 유사 배열 객체(array-like object)이며 함수 내부에서 지역 변수처럼 사용된다. 즉, 함수 외부에서는 사용할 수 없다. 자바스크립트는 함수 호출 시 함수 정의에 따라 인수를 전달하지 않아도 에러가 발생하지 않는다. function multiply(x, y) { console.log(arguments); return x * y; } multiply(); // {} multiply(1); // { '0': 1 } multiply(1, 2); // { '0': 1, '1': 2 } multiply(1, 2, 3); // { '0': 1, '1': 2, '.. [Javascript] 자바스크립트 (1/16) Immutability(변경 불가능)은 객체가 생성된 이후 그 상태를 변경할 수 없는 디자인 패턴을 의미한다. Immutability는 함수형 프로그래밍의 핵심 원리이다. 객체는 참조 형태로 전달하고 전달받는다. 객체가 참조를 통해 공유되어 있다면 그 상태가 언제든지 변경될 수 있기 때문에 문제가 될 가능성도 커지게 된다. 불변 객체를 생성하면 복제나 비교를 위한 조작을 단순화할 수 있고 성능 개선에도 도움이 된다. 하지만, 객체가 변경 가능한 데이터를 많이 가지고 있는 경우 오히려 부적절한 경우가 있다. ES6 에서는 불변 데이터 패턴(immutable data pattern)을 쉽게 구현할 수 있는 새로운 기능이 추가되었다. Immutable value VS Mutable value Javascrip.. [Javascript] 자바스크립트 (1/12) react 클론 코딩 강의를 들어보았따. 2년 전 강의였다. 진도를 빼는데 바뀐 라이브러리의 사용법을 익히는 것에 시간을 많이 쓰는 나를 보고 과연 프론트 엔드 개발자가 '라이브러리 사용법'이 중요할까? 라는 생각이 들었고 나는 라이브러리 보다 리액트를 통한 프로젝트보다 '자바스크립트'의 동작원리와 기본이 중요하다.'고 결론을 내렸다. 잡설은 그만하고 오늘 공부한 것을 블로그에 차근차근 정리하려고 한다. Node.js 2009년 Ryan Dhal이 발표한 Node.js는 Chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다. 간단히 말해 브라우저에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서 동작시킬 수 있는 자바스크립트 실행 환경이다. 주로 서버사이드 애플리케이션 개발에 사.. 이전 1 다음