728x90
728x90

ES stands for ECMAScript, which the standardized specification for scripting languages with JavaScript being the most popular implementation of ECMAScript. ECMAScript defines the syntax, semantics, and behavior of the Javascript programming language

ES5 (ECMAScript 5) was released in 2009 and brought several significant enhancements to JavaScript. Some notable features introduced in ES5 include:

  1. Strict Mode: ES5 introduced strict mode, which helps prevent common coding mistakes by enabling a stricter set of rules for JavaScript code.
  2. Function.prototype.bind: The bind method allows you to create a new function with a specific context (the this value) and pre-set arguments. It's useful for creating functions with a fixed context, particularly in event handlers.
  3. Array Methods: ES5 added several useful methods to the Array prototype, such as forEach, map, filter, reduce, and indexOf. These methods provide a more concise and functional programming-style approach to working with arrays.
  4. JSON: ES5 standardized the JSON object, providing methods like JSON.parse and JSON.stringify for parsing and stringifying JSON data.

ES6 (ECMAScript 2015), also known as ES2015, introduced many significant improvements and new features to JavaScript. Some key features introduced in ES6 include:

  1. Arrow Functions: Arrow functions provide a concise syntax for writing anonymous functions, with implicit returns and lexical scoping of this. They are especially useful for writing shorter and more readable code.
  2. let and const: ES6 introduced block-scoped variables let and const, which offer alternatives to the previously used var keyword. let allows declaring variables with block scope, while const is used for defining constants.
  3. Classes: ES6 introduced a more straightforward syntax for creating classes in JavaScript, using the class keyword. Classes provide a way to define object blueprints and create instances with shared methods and properties.
  4. Modules: ES6 introduced a standardized module system, allowing JavaScript code to be organized into separate files with explicit dependencies and exports. This promotes modularity and helps in building larger applications.
  5. Template Literals: Template literals provide an improved way to concatenate strings and embed expressions using backticks ( ``). They support multi-line strings and expression interpolation.
  6. Destructuring Assignment: Destructuring allows you to extract values from arrays or objects into individual variables, providing a concise way to access nested data structures.

These are just a few highlights of the features introduced in ES5 and ES6. Subsequent versions of ECMAScript, such as ES2016, ES2017, and so on, have brought further enhancements and new features to JavaScript.

300x250
728x90
728x90

what's your name?

i'm hired

you're hired?

thanks, sir


TIMELINE


5:00am  
6:00am  
7:00am  
8:00am  
9:00am  
10:00am  
11:00am  
12:00pm  
1:00pm  
2:00pm  
3:00pm  
4:00pm doing some randome quests
5:00pm TIL of yesterday
6:00pm dinner
7:00pm console.log
8:00pm nothing but the best
9:00pm nothing but the best
10:00pm  
11:00pm  
12:00am  
1:00am  
2:00am  
3:00am  
4:00am  
5:00am  

 

what i did was.. almost nothing lol 

not the worst day on my life but only non-satisfied

 

well sometimes doing nothing can be the best way

no plans for today : think i'm in burnout


https://insidepixce.tistory.com/91

 

[node.js] console.log function

most Javascript systems (including node js) provide a console.log function that writes out its arguments to some text output device. In browsers, the output lands in the JavaScript console. The console.log function is a useful tool for debugging and unders

insidepixce.tistory.com

 

i should not keep in personal for everything they told 


only to be humbled and eagered, nothing to be serious. for more, talk empty. that's all i should do 

300x250

'2023 공부한것들' 카테고리의 다른 글

[node.js] making a simple web server with node  (0) 2023.06.18
[node js] npm  (0) 2023.06.18
[node.js] console.log function  (0) 2023.06.17
[TIL] 20230617 : killing my ocd  (0) 2023.06.17
[node.js] call stack (eng)  (0) 2023.06.17
728x90
728x90

 

 

 JS 언어의 특징

1. 객체 지향 프로그래밍 지원

객체를 생성하고 관리하는 데에 강점이 있음. 이를 통해 복잡한 기능을 구현할 수 있음

 

-절차지향 : 순서대로 실행되는 일련의 과정을 단계적으로 기술해 프로그램을 만듦

ㄴ첫 번째 일을 처리한 다음에 두 번째 일을 처리하고, 그 다음에 세 번째 일을 처리 

-객체지향 : 데이터와 함수를 객체라는 그룹으로 묶어서 처리 하는 법

ㄴ 각 객체는 상태와 행동을 가지고 있으며, 상태는 객체의 속성이라고도 함

 

 

 js에서 객체를 만들 때는

객체 : {중괄호} 사용 

속성 : 쉼표, 

ㄴ이름: 문자열 값: 다양한 데이터 타입을 사용할 수 있음

메소드 : 객체 내부의 함수 

*속성의 값으로 함수를  추가할 수 있음

https://insidepixce.tistory.com/75

 

javascript에서 객체를 생성하는 방법 8가지

1. 일반적인 객체 생성 방법 // 객체 생성자 함수를 사용하여 객체 생성 function Person(name, age) { this.name = name; this.age = age; } // 새로운 객체 생성 let person1 = new Person("gyodam", 21); console.log(person1); // 출

insidepixce.tistory.com

객체를 생성하는 법 8가지를 정리한 티스토리 첨부

확인해보면 도움이 될 것이다. 

-> 객체를 만들어 필요한 속성과 메소드를 추가하여 사용

 

2. 동적 타이핑 언어

동적 타이핑 언어란? 

자바스크립트가 아닌 다른 언어에서는 변수를 지정할때 타입을 지정해줘야 함

 

#타이핑이라는 단어가 조금 생소하게 느껴진다면 type + ing라고 생각하면 좋다. 

정적 타이핑 언어 : java

public class Example {
    public static void main(String[] args) {
        int myVariable = 10;
        System.out.println(myVariable); // 출력: 10

        myVariable = "Hello, World!"; // 오류: 타입 불일치
        System.out.println(myVariable);
    }
}

 

이를테면, C, C++, Java, C# 등이 정적 타이핑 언어에 해당한다. 

위의 예시 코드에서 'myvariable' 은 처음에는 정수 타입인 int로 선언 , 10이라는 값이 할당됨.

그러나 이후 문자열인 "Hello, World!"를 할당하려고 해 컴파일 오류가 발생함

java에서는 변수의 타입이 컴파일 시에 결정되기 때문에 한 번 타입이 지정되면 다름 타입의 값을 할당할 수 없음

 

장점 -> 컴파일 시에 타입 체크를 수행하여 오류를 사전에 방지

단점 -> 동적 타이핑 언어에 비해 유연성이 떨어짐

 

https://insidepixce.tistory.com/76

 

런타임이란? (런타임 시점)

런타임이란? 컴퓨터 프로그램이 실행되는 동안, 프로그램의 실행 환경과 관련된 모든 작업을 처리한다. 실행중에 발생하는 모든 활동과 동작을 포함한다 1. 메모리 관리 : 프로그램이 메모리를

insidepixce.tistory.com

 

*숫자열과 문자열을 동일한 변수에 저장할 수 있다

let myVariable = 10;
console.log(myVariable);

myVariable = "Hello, World!";
console.log(myVariable); // 출력: Hello, World!

첫번째 출력 : 10 두번째 출력 : Hello, World!

 

*동적 타이핑은 연산에 대해서도 적용된다 

let sum = 5 + 10;
console.log(sum)

sum = "5" + "10";
console.log(sum);

첫번째 출력 : 15 두번째 출력 : 510

따로 타입을 정해주지 않았는데도 적용되는 것을 볼 수 있다

*배열은 여러 타입의 요소를 포함 할 수 있다

let myArray = [1, "two", true];
console.log(myArray);

 출력: [1, "two", true]

 

*객체의 속성은 런타임 중에 추가하거나 수정할 수 있다

let myObject = { name: "gyodam", age: 21 };
console.log(myObject);
myObject.email = "insidepixce@gmail.com";
console.log(myObject);

출력1 : { name: 'gyodam' , age : 21}  출력 2 : { name: :"gyodam", age: 21, email: "insidepixce@gmail.com" }

 

3. 함수형 프로그래밍 지원

 

함수를 일급 객체로 취급하고 , 고차 함수를 지원함. 

-> 코드의 재사용성과 가독성을 높임

 

따로 포스팅을 하려 했으나, 2주차에 자세히 배울 예정이기에 이 포스트에 서술함.

 

특성

1. 변수에 할당 가능함

2. 함수의 매개변수로 전달할 수 잇음

3. 함수의 반환값으로 사용할 수 있음

4. 동적으로 프로퍼티를 할당하거나 메서드를 추가할 수 있음

 

즉, 일급 객체는 Javascript에서 다른 객체와 마찬가지로 취급됨. 

함수형 프로그래밍에서는 함수를 값으로 다루어 코드를 조합하는 기법을 사용함.

 

// 변수에 할당
const add = function(a, b) {
  return a + b;
};

// 함수의 매개변수로 전달
function calculate(operation, a, b) {
  return operation(a, b);
}

console.log(calculate(add, 5, 3)); // 출력: 8

// 함수의 반환값으로 사용
function createMultiplier(multiplier) {
  return function(num) {
    return num * multiplier;
  };
}

const double = createMultiplier(2);
console.log(double(5)); // 출력: 10

// 동적으로 프로퍼티 할당 및 메서드 추가
const person = {};
person.sayHello = function() {
  console.log("Hello!");
};

person.sayHello(); // 출력: Hello!

 

고차함수란?

함수를 인자로 받거나 , 함수를 반환하는 함수 

// 함수를 매개변수로 받는 고차 함수
function operationOnNumbers(operation, a, b) {
  return operation(a, b);
}

function add(a, b) {
  return a + b;
}

function subtract(a, b) {
  return a - b;
}

console.log(operationOnNumbers(add, 5, 3)); // 출력: 8
console.log(operationOnNumbers(subtract, 5, 3)); // 출력: 2

// 함수를 반환하는 고차 함수
function createMultiplier(multiplier) {
  return function(num) {
    return num * multiplier;
  };
}

const double = createMultiplier(2);
console.log(double(5)); // 출력: 10

 

 

4. 비동기 처리

 

작업을 순차적으로 기다리지 않고, 병렬로 처리할 수 있도록 하는 방식

 

 


항해 99 15기 node.js 1주차 강의 중 2강까지의 내용정리 

300x250

+ Recent posts