본문 바로가기

전체 글71

JavaScript 타입별 정리 Object (2) 객체 프로퍼티 프로퍼티 키 프로퍼티 키는 일반적으로 문자열(빈 문자열 포함)을 지정한다. 프로퍼티 키에 문자열이나 symbol 값 이외의 값을 지정하면 암묵적으로 타입이 변환되어 문자열이 된다. 또한 문자열 타입의 값으로 수렴될 수 있는 표현식도 가능하다. 프로퍼티 키는 문자열이므로 따옴표(‘’ 또는 ““)를 사용한다. 하지만 자바스크립트에서 사용 가능한 유효한 이름인 경우, 따옴표를 생략할 수 있다. 반대로 말하면 자바스크립트에서 사용 가능한 유효한 이름이 아닌 경우, 반드시 따옴표를 사용하여야 한다. 프로퍼티 값은 모든 값과 표현식이 올 수 있으며 프로퍼티 값이 함수인 경우 이를 메소드라 한다. var person = { 'first-name': 'test', 'last-name': 'Lee', ge..
JavaScript 예약어 모음 자바스크립트에서, 몇몇 식별자는 예약어여서 변수나 함수 이름으로 사용할 수가 없습니다. 사용할 수 없는 예약어 목록은 아래와 같습니다. abstract arguments boolean break byte case catch char class* const continue debugger default delete do double else enum* eval export* extends* false final finally float for function goto if implements import* in instanceof int interface let long native new null package private protected public return short static super* ..
JavaScript 타입별 정리 Object (1) 자바스크립트는 객체(object) 기반의 스크립트 언어이며 자바스크립트를 이루고 있는 거의 “모든 것”이 객체이다. 원시 타입(Primitives)을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이다. 자바스크립트의 객체는 키(key)와 값(value)으로 구성된 프로퍼티(Property)들의 집합이다. 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다. 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다. 따라서 프로퍼티 값으로 함수를 사용할 수도 있으며 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드라 부른다. 이와 같이 객체는 데이터를 의미하는 프로퍼티(property)와 데이터를 참조하고 조작할 수 있는 동작(behavior)을 의..
JavaScript 타입별 정리 Null JavaScript에서 null은 원시타입 중 하나로 어떤 값이 비어있음을 선언하며 boolean 연산에서는 false로 취급됩니다. null은 javascript의 빈값에 대한 리터럴 표현입니다. null은 undefined와 같은 전역 객체의 식별자가 아닙니다. 대신 식별되지 않은 상태를 나타내며 API에서의 null은 객체가 기대되지만 해당되는 객체가 없는 곳에 발생합니다. // foo 는 존재하지 않는다. 정의되지 않고 초기화 된 적도 없다 foo "ReferenceError: foo is not defined" // foo 가 존재하는 것을 알고 있지만 타입이나 값이 없다 var foo = null; foo // "null" null 또는 undefined의 차이 typeof null // "o..
JavaScript 타입별 정리 Symbol JavaScript에서 Symbol은 ES6에서 새롭게 추가된 7번째 타입으로 변경 불가능한 원시 타입의 값이다. 심볼은 주로 이름의 충돌 위험이 없는 유일한 객체의 프로퍼티 키(property key)를 만들기 위해 사용한다. 심볼의 값은 객체 프로퍼티에 대한 식별자로 이것이 심볼 데이터 형식의 유일한 목적입니다. const symbol1 = Symbol(); const symbol2 = Symbol(42); const symbol3 = Symbol('foo'); console.log(typeof symbol1); // expected output: "symbol" console.log(symbol2 === 42); // expected output: false console.log(symbol3.to..
JavaScript 타입별 정리 Boolean javascript에서 boolean은 원시타입중 하나로 값이 true 또는 false로 이루어진 자료형입니다. 값이 없거나 0, -0, null, false, NaN, undefined, 빈 문자열인 경우 객체의 초기값은 false가 되며 문자열 "false"를 포함한 그 외 모든 다른 값은 초기 값이 true가 됩니다. 값이 undefiend, null이 아닌 모든 객체는 조건문에서 true로 계산됩니다. 이는 값이 false인 Boolean 객체도 포함합니다. 즉 아래 if 문의 조건은 참입니다. var boolean_object = new Boolean(false); if (boolean_object) { // True // in } 그러나 원시타입의 Boolean값에는 적용되지 않습니다. 따라서..
JavaScript 타입별 정리 Strings JavaScript에서 문자열은 유니코드 문자들이 연결되어 만들어진 것입니다. 이는 국제화(i18n, internationalization) 하려 하는 누구에게라도 환영받을만한 소식입니다. 좀 더 정확히 말하자면, 각각이 16비트 숫자로 표현된 UTF-16 코드 유닛이 길게 이어져있는 것입니다. 각 유니코드 문자는 1개나 2개의 코드 유닛으로 표현됩니다. 유니코드는 세계 각국의 서로 다른 언어와 쓰기 방식, 기호 등을 모아 번호를 할당하고 문자를 정의하는 표준 문자 집합입니다. 각각의 문자에 번호를 매김으로써 프로그래머는 문자 인코딩을 제작할 수 있고, 컴퓨터는 그 인코딩을 사용해 같은 파일 또는 프로그램 내에서 어떠한 언어 조합을 사용하더라도 저장, 처리, 전송할 수 있습니다. 유니코드 이전에는 여러가..
JavaScript 타입별 정리 Numbers javascript에서 Numbers는 원시타입중 하나로 "이중 정밀도 64비트 형식 IEEE 754 값"으로 정의됩니다. 여기서 말하는 이중 정밀도란 컴퓨터에서 소수점을 표현하는 방식 중 하나인 부동 소수점 방식중 하나로 부동 소수점 방식은 4바이트의 단일 정밀도 형식과 8바이트의 이중 정밀도 형식으로 나뉩니다. 컴퓨터에서 실수를 부동 소수점 방식으로 저장하면 부호 비트와 지수 부분과 가수 부분이 아래와 같은 공식으로 저장됩니다. m X r^e ( m : 가수 r : 밑수 e : 지수 ) 부호 비트는 양의 실수인지 음의 실수인지 나타내는 부분이고, 지수 부분은 소수점 위치를 나타내며, 가수 부분은 유효 자릿수를 나타냅니다. 32비트 체제(단일 정밀도 형식)에서는 부호 부분 1, 지수 부분 8, 가수 부..