ES5 (ECMAScript 2009), ECMAScript 는 무엇인가?

IN DUCK KANG·2020년 12월 23일
0

JavaScript

목록 보기
1/2

JavaScript VS ECMAScript

ECMAScript는 비영리 표준화 기구 'Ecma International'에서 제정한 ECMA-262 기술 규격으로, 스크립트 언어의 표준입니다. 즉, 스크립트 언어를 어떻게 만들지에 대한 규칙(약속)입니다.
Ecma 인터내셔널의 여러 기술 위원회(Technial Committee, 이하 TC) 중 TC39 라는 위원회가 이 명세를 관리합니다.
TC39 프로세스는 추후에 기술하도록 하겠습니다.

cf) https://tc39.es/process-document/

JavaScript는 ECMAScript 표준을 따르는 스크립트 언어 중 하나 입니다.

ES5 (ECMAScript 2009)

ES5(ECMAScript5)는 ECMA-262 표준의 제5판입니다.

Array

Array.isArray()
Array.forEach()
Array.map()
Array.filter()
Array.reduce()
Array.reduceRight()
Array.every()
Array.some()
Array.indexOf()
Array.lastIndexOf()

Strict mode

"use strict"

자유로운 JS의 특성때문에 잘못된 코드가 에러가 나지 않는 않는 경우를 방지하고자, 개발 단계에서 안전하지 않은 코드를 에러로 잡아냅니다.
ES6에서는 Strict mode가 디폴트이기 때문에 사용할 필요가 없습니다.

Object

// Adding or changing an object property
Object.defineProperty(object, property, descriptor)

// Adding or changing many object properties
Object.defineProperties(object, descriptors)

// Accessing Properties
Object.getOwnPropertyDescriptor(object, property)

// Returns all properties as an array
Object.getOwnPropertyNames(object)

// Returns enumerable properties as an array
Object.keys(object)

// Accessing the prototype
Object.getPrototypeOf(object)

// Prevents adding properties to an object
Object.preventExtensions(object)
// Returns true if properties can be added to an object
Object.isExtensible(object)

// Prevents changes of object properties (not values)
Object.seal(object)
// Returns true if object is sealed
Object.isSealed(object)

// Prevents any changes to an object
Object.freeze(object)
// Returns true if object is frozen
Object.isFrozen(object)

JSON(JavaScript Object Notation)

JSON.parse()
JSON.stringify()

JSON은 Javascript 객체 표현식을 따르는 문자 기반의 데이터 포맷으로 문자열 형태로 존재합니다. 데이터에 접근하기 위해서는 object로 변환될 필요가 있습니다.
JSON 표현식은 이해하기 쉬우며 용량이 작아서, 웹서버와 데이터 통신을 할때 XML 대신 사용합니다.

JSON.stringify(obj) : Object를 JSON으로 변환
JSON.parse(json) : JSON을 Object로 변환

Note: 문자열에서 object로 변환하는 것은 파싱(Parsing)이라고 합니다. 네트워크를 통해 전달할 수 있게 객체를 문자열로 변환하는 과정은 문자열화(Stringification)이라고 합니다.

파싱된 JSON 객체는 점/브라켓 표현법을 통해 객체 내 데이터에 접근할 수 있게 됩니다.

superHeroes.homeTown
superHeroes['active']

JSON은 자바스크립트의 객체 리터럴(표기법)과 유사하지만, 다음과 같은 차이점이 존재합니다.

  • 문자열과 프로퍼티의 key/value 작성시 큰 따옴표를 반드시 사용해야 합니다. 작은 따옴표나 생략은 할 수 없습니다.
  • 주석은 사용할 수 없습니다
  • 프로퍼티에 메소드의 담을 수 없습니다.

String

String.trim()

Date

Date.now()

Property Getters and Setters

var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
  get lang() {
    return this.language;
  },
  set lang(value) {
    this.language = value;
  }
};

[참고]

https://www.w3schools.com/js/js_es5.asp
https://ahnheejong.name/articles/ecmascript-tc39/
https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/JSON

profile
Web FE Developer

0개의 댓글