ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ES6 변경사항
    Programming/JavaScript & TypeScript 2021. 9. 25. 16:16
    728x90

    1) 템플릿 문자열

    ES6 이전에는 문자열 연결시에는 병합연산자(+) 사용

    ES6 이후에는 백틱을 이용해서 표현

    //ES6 이전
    var string1 = "안녕하세요."
    var string2 = "반갑습니다."
    
    var greeting = string1 + ' ' + string2
    
    //ES6 이후
    
    var string1 = "안녕하세요."
    var string2 = "반갑습니다."
    
    var greeting = `${string1}  ${string2}`

    2) 화살표 함수 지원

    // 예전방식
    var lordify = function(firstName, land) {
    	return `${land}의 ${firstName}`
    }
    
    //ES6의 화살표 함수
    var lordify = (firstName, land) => `${land}의 ${firstName}`
    
    
    // 화살표 함수는 콜백함수의 this범위로 생기는 오류를 피하기 위해 bind() 사용해서 this객체를 전달
    //addThis2는 this 전달, addThis3는 화살표 함수로 생략
    class MyClass {
    	value = 10
        constructor() {
        	var addThis2 = funtion(first, second) {
            	return this.value + first + second
            }.bind(this)
            var add3 = (first, second) => { this.value + first + second }
        }

    파라미터가 1개이면 괄호 생략가능. return 값을 지정하면 return 문도 생략 가능

     

    2) 구조분해 할당

    - 같은 변수 이름이면 할당 가능, 원본 데이터는 변경되지 않음

    var sandwich={
    	bread:"더치 크런치",
        meat:"참치"
    }
    
    var {break, meat} = sandwich

    파라미터도 구조분해 할당 가능

    regularPerson = {
    	firstName:'hy',
        lastName:'choi'
    }
    
    var lordify = ({firstName}) => {
    	console.log(firstName)
    }
    loardify(regularPerson)

    3) 스프레드 연산자

    - 배열 조합 가능

    var strNum1 = ["1", "2", "3"]
    var strNum2 = ["4", "5", "6"]
    
    var strNum3 = [...strNum1, ...strNum2]

     

    4) Promise

    - 비동기 동작을 다루기 위한 방법

     

    5) 클래스

    class Shape {
    	static create(x,y) { return new Shape(x,y) }
        name = 'Shape'
        constructor(x,y) {
        	this.move(x,y)
        }
        move(x,y){
        	this.x = x
            this.y = y
        }
        area() {
        	return 0
        }
      }
    
    var s = new Shape(0,0);
    s.area()

    'Programming > JavaScript & TypeScript' 카테고리의 다른 글

    TypeScript vs JavaScript  (0) 2022.02.15
    리액트를 다루는 기술  (0) 2021.12.16
    map  (0) 2021.09.26
    클래스 컴포넌트 vs 함수형 컴포넌트  (0) 2021.09.25
    리액트 공부 / 추천 사이트  (0) 2021.09.25
Designed by Tistory.