분류 전체보기115 자바스크립트 숫자형 모던 자바스크립트는 숫자를 나타내는 두 가지 자료형을 지원한다. 1. 일반적인 숫자는 '배정밀도 부동소수점 숫자'로 알려진 64비트 형식의 IEEE-754에 저장된다. 2. 임의이 길이를 가정 정수는 Bigint 숫자로 나타낼 수 있다. 일반적인 숫자는 2의53승 이상이거나 -2의 53승 이하일 수 없다는 제약 때문에 BigInt라는 새로운 자료형이 만들어 졌다. BigInt는 아주 특별한 경우에만 사용된다. 숫자를 입력하는 다양한 방법 일반적인 숫자는 253이상이거나 -253이하일 수 없다는 제약 때문에 BigInt라는 새로운 자료형이 만들어졌다. 10억을 입력한다고 가정했을때 가장 분명한 방법은 10억 을 써주는 것 이다. let billion = 1000000000; 하지만 0을 많이 사용해 숫자를.. 2020. 12. 11. 자바스크립트 원시값의 메서드 자바스크립트는 원시값(문자열,숫자)를 마치 객체처럼 다룰 수 있게 해준다. 원시값에도 객체에서처럼 메서드를 호출할 수 있다. 원시값은 객체가 아님 원시값과 객체는 다음과 같은 차이점이 있다. - 원시형 값이다. - 원시형의 종류는 문자(String),숫자(number),bigint,불린(boolean),심볼(symbol),null,undefined형으로 총 일곱가지 객체 - 프로퍼티에 다양한 종류의 값을 저장한 수 이싿. - {name : "John", age : 30}와 같이 대괄호 {}를 사용해 만들 수 있다. 자바스크립트에는 여러 종류의 객체가 있는데 함수도 객체의 일종이다. 객체의 장점중 하나는 함수를 프로퍼티로 저장할 수 있다는 것. let john = { name: "John", sayHi: .. 2020. 12. 8. 자바 스크립트 심볼형 자바 스크립트는 객체 프로퍼티 키로 오직 문자형과 심볼형만을 허용한다. 숫자형,불린형 모두 불가능하고 오직 문자형과 심볼형만 가능하다. 심볼 '심볼(symbol)'은 유일한 식별자를 만들고 싶을 때 사용한다. Symbol()을 사용하면 심볼값을 만들 수 있다. // id는 새로운 심볼이 됩니다. let id = Symbol(); 심볼을 만들 때 심볼 이름이라 불리는 설명을 붙일 수도 있다. 심볼 이름은 디버깅 시 아주 유용하다. // 심볼 id에는 "id"라는 설명이 붙습니다. let id = Symbol("id"); 심볼은 유일성이 보장되는 자료형이기 때문에 설명이 동일한 심볼을 여러 개 만들어도 각 심볼값은 다르다. 심볼에 붙이는 설명(심볼 이름)은 어떤 것에도 영향을 주지 않는 이름표 역할만을 한다.. 2020. 12. 8. 자바스크립트 옵셔널 체이닝 '?.' 옵셔널 체이닝(optional chaining) ?. 을사용하면 프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근할 수 있다. 옵셔널 체이닝 이 필요한 이유 사용자가 여러명 있는데 그중 몇 명은 주소 정보를 가지고 있지 않다고 가정 이때 user.address.street 를 사용해 주소 정보에 접근하면 에러가 발생할 수 있다. let user = {}; // 주소 정보가 없는 사용자 alert(user.address.street); // TypeError: Cannot read property 'street' of undefined 또 브라우저에서 동작하는 코드를 개발할 때 발생할 수 있는 문제로 페이지에 존재하지 않는 요소에 접근해 요소의 정보를 가져오려 할 때 발생한다. // querySelec.. 2020. 12. 8. 자바스크립트 new 연산자와 생성자 함수 객체 리터럴{ ... } 를 사용하면 객체를 쉽게 만들 수 있다. 그런데 개발을 하다 보면 유사한 객체를 여러개 만들어야 할 때가 생기곤한다. 'new' 연산자와 생성자 함수를 사용하면 유사한 객체 여러개를 쉽게 만들 수 있다. 생성자 함수 생성자 함수(construnctor function)와 일반 함수에 기술적인 차이는 없다. 하지만 생성자 함수는 두 관례를 따른다. 1. 함수 이름의 첫 글자는 대문자로 시작한다. 2. 반드시"new" 연산자를 붙여 실행한다. function User(name) { this.name = name; this.isAdmin = false; } let user = new User("Jack"); alert(user.name); // Jack alert(user.isAdmi.. 2020. 12. 7. 자바 스크립트 메서드와 'this' 메서드 만들기 객체 user에게 인사할 수 있는 능력을 부여해 준다. let user = { name: "John", age: 30 }; user.sayHi = function() { alert("안녕하세요!"); }; user.sayHi(); // 안녕하세요! 함수 표현식으로 함수를 만들고 객체 프로퍼티 user.sayHi 에 함수를 할당해 주었다. 객체에 할당된 함수를 호출하면 user가 인사를 해준다. 이렇게 객체 프로퍼티에 할당된 함수를 메서드 라고 부른다. 메서드는 아래와 같이 이미 정의된 함수를 이용해서 만들수도 있다. let user = { // ... }; // 함수 선언 function sayHi() { alert("안녕하세요!"); }; // 선언된 함수를 메서드로 등록 user.say.. 2020. 12. 7. 자바 스크립트 가비지 컬렉션 가비지 컬레겻ㄴ 기준 자바스크립트는 도달 가능성 이라는 개념을 사용해 메모리 관리를 수행한다. 도달 가능한 값은 쉽게 말해 어떻게든 접근하거나 사용할 수 있는 값을 의미한다. 도달 가능한 값은 메모리에서 삭제되지 않는다. 1. 아래 값들은 그태생부터 도달 가능하기 때문에 명백한 이유없이 삭제되지 않는다. - 현재 함수의 지역 변수와 매개변수 - 중첩 함수의 체인에 있는 함수에서 사용되는 변수와 매개변수 - 전역 변수 - 기타 등등 이런 값들은 루트 라고 부른다. 2. 루트가 참조하는 값이나 체이닝으로 루트에서 참조할 수 있는 값은 도달 가능한 값이 된다. 전역 변수에 객체가 저장되어 있다고 가정 이 객체의 프로퍼티가 또 다른 객체를 참조하고 있다면 프로퍼티가 참조하는 객체는 도달 가능한 값이 된다. 이 .. 2020. 12. 6. 자바스크립트 참조에 의한 객체복사 객체와 원시타입의 근본적인 차이 중 하나는 객체는 차몾에 의해(by reference)저장되고 복사된다는 점. 원시값(문자열,숫자,불린값) 은 '값 그래도' 저장 할당되고 복사 let message = "Hello!"; let phrase = message; 두개의 독립된 변수에 각각 문자열 "Hello!"가 저장 변수에는 객체가 그대로 저장되는 것이 아니라 객체가 저장되어있는 메모리 주소인 객체에대한 참조 값이 저장된다. 객체가 할당된 변수를 복사할 땐 객체의 참조 값이 복사되고 객체는 복사되지 않는다. 참조에 의한 비교 객체 비교시 동등 연산자 == 와 일치 연산자 === 는 동일하게 동작한다. 비교시 피연산자인 두 객체가 동일한 객체인 경우에 참을 반환한다. let a = {}; let b = a;.. 2020. 12. 6. 자바스크립트 객체 const user = { name: "John" }; user.name = "Pete"; // (*) alert(user.name); // Pete let user = { // 객체 name: "John", // 키: "name", 값: "John" age: 30 // 키: "age", 값: 30 }; 객체 자바스크립트에는 여덟가지 자료형이 있다. 이주 일곱개는 오직 하나의 데이터(문자열,숫자 등)만 담을수 있어 '원시형' 이라고 부른다. 객체형은 원시형과 달리 다양한 데이터를 담을 수 있다. 키로 구분된 데이터 집합니다 복잡한 개체를 저장할 수 있다. 객체는 중괄호 {...}를 이용하여 만들 수 있다. 중괄호 안에는 "키(key) : 값(value)" 쌍으로 구성된 프로퍼티를 여러개 넣을 수 있는데.. 2020. 12. 4. 이전 1 2 3 4 5 6 7 8 ··· 13 다음