목록2024/07 (59)
연습장
https://poiemaweb.com/js-number Number | PoiemaWebNumber 객체는 원시 타입 number를 다룰 때 유용한 프로퍼티와 메소드를 제공하는 레퍼(wrapper) 객체이다. 변수 또는 객체의 프로퍼티가 숫자를 값으로 가지고 있다면 Number 객체의 별도 생성없이 Numbepoiemaweb.com Number 객체는 원시 타입 number를 다룰 때 유용한 프로퍼티와 메소드를 제공하는 레퍼(wrapper) 객체이다. 변수 또는 객체의 프로퍼티가 숫자를 값으로 가지고 있다면 Number 객체의 별도 생성없이 Number 객체의 프로퍼티와 메소드를 사용할 수 있다. var num = 1.5;console.log(num.toFixed()); // 2 위에서 원시 타입을 ..
https://poiemaweb.com/js-global-object Global Object | PoiemaWeb전역 객체(Global Object)는 모든 객체의 유일한 최상위 객체를 의미하며 일반적으로 Browser-side에서는 window, Server-side(Node.js)에서는 global 객체를 의미한다.poiemaweb.com 전역 객체(Global Object)는 모든 객체의 유일한 최상위 객체를 의미 브라우저 환경에서: window 객체가 전역 객체입니다.Node.js 환경에서: global 객체가 전역 객체입니다. // in browser consolethis === window // true// in Terminalnodethis === global // true전역 객체는 실..
https://poiemaweb.com/js-built-in-object Built-in Object | PoiemaWebBuilt-in Object(내장 객체)는 웹페이지 등을 표현하기 위한 공통의 기능을 제공한다. 웹페이지가 브라우저에 의해 로드되자마자 별다른 행위없이 바로 사용이 가능하다. Built-in Object는 아래와 같이poiemaweb.com 자바스크립트의 객체는 다음과 같이 3가지로 분류할 수 있다. 1. 네이티브 객체 네이티브 객체(Native objects , Built-in objects , Global Objects)는 ECMAScript 명세에 정의된 객체를 말하며 애플리케이션 전역의 공통 기능을 제공한다. 네이티브 객체는 애플리케이션의 환경과 관계없이 언제나 사용할 수 있..
https://poiemaweb.com/js-object-oriented-programming Object-Oriented Programming | PoiemaWeb오늘날 많은 유명한 프로그래밍 언어(Java, C++, C#, Python, PHP, Ruby, Object-C)는 객체지향 프로그래밍을 지원한다.poiemaweb.com 1. 객체지향 프로그래밍 (Object-Oriented Programming) 개요 객체지향 프로그래밍은 실세계에 존재하고 인지하고 있는 객체(Object)를 소프트웨어의 세계에서 표현하기 위해 객체의 핵심적인 개념 또는 기능만을 추출하는 추상화(abstraction)를 통해 모델링하려는 프로그래밍 패러다임을 말한다. 다시 말해, 우리가 주변의 실세계에서 사물을 인지하는 ..
https://poiemaweb.com/js-closure Closure | PoiemaWeb클로저(closure)는 자바스크립트에서 중요한 개념 중 하나로 자바스크립트에 관심을 가지고 있다면 한번쯤은 들어보았을 내용이다. execution context에 대한 사전 지식이 있으면 이해하기 어렵지 않poiemaweb.com 클로저는 자바스크립트 고유의 개념이 아니라 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 사용되는 중요한 특성이다. "클로저는 함수와 그 함수가 선언됐을 때의 렉시컬 환경(Lexical environment)과의 조합이다." 1. 실행 컨텍스트 (Execution Context) 실행 컨텍스트는 코드가 실행되는 환경을 의미합니다. 자바스크립트에서 코드가 실행될 때마다 실행..
https://poiemaweb.com/js-this this | PoiemaWeb자바스크립트의 this keyword는 Java와 같은 익숙한 언어의 개념과 달라 개발자에게 혼란을 준다. Java에서의 this는 인스턴스 자신(self)을 가리키는 참조변수이다. this가 객체 자신에 대한 참조 값을poiemaweb.com 자바스크립트의 함수는 호출될 때, 매개변수로 전달되는 인자값 이외에, arguments 객체와 this를 암묵적으로 전달 받는다.function square(number) { console.log(arguments); console.log(this); return number * number; } square(2); Java에서의 this는 인스턴스 ..
https://poiemaweb.com/js-strict-mode Strict mode | PoiemaWebES5부터 strict mode가 추가되었다. strict mode는 자바스크립트 언어 문법을 보다 엄격히 적용하여 기존에는 무시되던 오류를 발생시킬 가능성이 높거나 자바스크립트 엔진의 최적화 작업에 문제를poiemaweb.com 1. strict mode란? function foo() { x = 10; } foo()console.log(x); // ? 변수 x의 선언이 존재하지 않기 때문에 ReferenceError를 throw할 것 같지만 자바스크립트 엔진은 암묵적으로 전역 객체에 프로퍼티 x를 동적 생성하며 식별자 x는 암묵적 전역 변수(implicit global)라 한다. 하지..
https://poiemaweb.com/js-scope Scope | PoiemaWeb스코프는 참조 대상 식별자(identifier, 변수, 함수의 이름과 같이 어떤 대상을 다른 대상과 식별할 수 있는 유일한 이름)를 찾아내기 위한 규칙으로 자바스크립트는 이 규칙대로 식별자를 찾는다.poiemaweb.com 1. 스코프란? 변수나 함수가 유효한 범위를 말합니다. 어디서 변수나 함수에 접근할 수 있는지를 결정짓는 범위를 의미합니다. var x = 'global';function foo () { var x = 'function scope'; console.log(x);}foo(); // function scopeconsole.log(x); // global 스코프는 변수나 함수의 이름 충돌을 방지하고,..
https://poiemaweb.com/js-prototype Prototype | PoiemaWeb자바스크립트의 모든 객체는 자신의 부모 역할을 하는 객체와 연결되어 있다. 그리고 이것은 마치 객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티 또는 메소드를 상속받아 사용할 수 있게poiemaweb.com 1. 프로토타입 객체 Java와 C++은 클래스 기반 객체지향 프로그래밍 언어입니다. 객체를 생성하기 전에 클래스를 정의하고 이를 통해 객체(인스턴스)를 생성합니다. 자바스크립트는 이와 달리 프로토타입 기반 객체지향 프로그래밍 언어입니다. 클래스 없이도 객체를 생성할 수 있습니다. 모든 자바스크립트 객체는 부모 역할을 담당하는 프로토타입 객체와 연결되어 있습니다. 이 객체는 상속 개념과 유사하게 부모..
https://poiemaweb.com/js-type-check Type Checking | PoiemaWeb자바스크립트는 동적 타입(dynamic typed) 언어이므로 변수에 어떤 값이 할당될 지 예측하기 어렵다. 아래 코드를 살펴보자.poiemaweb.com 자바스크립트는 동적 타입(dynamic typed) 언어이므로 변수에 어떤 값이 할당될 지 예측하기 어렵다. function sum(a, b) { return a + b; } sum('x', 'y'); // 'xy' 숫자가 아닌 문자가 들어오더라도 에러없이 처리가 되어버린다. 1. typeof 타입 연산자(Type Operator) typeof는 피연산자의 데이터 타입을 문자열로 반환한다. typeof ''; ..