문자열, 배열, 함수, 객체

2791 단어

문자열

  • 여러 줄 문자열
  • let str =`
    Hi,
    This is jirengu.com.
    You can study frontend here.
    `
    
  • 문자열 템플릿
  • let website = 'jirengucom'
    let who = 'You'
    let str = `Hi
    This is ${website}.
    ${who} can study frontend here
    `
    

    배열

  • 확장
  • var a = [1, 2]
    console.log(...a)  // 1, 2
    var b = [...a, 3]
    b // [1, 2, 3]
    
    var c = b.concat([4, 5])
    var d = [...b, 4, 5]
    
  • 함수 매개 변수의 확장
  • function sort(...arr){
      console.log(arr.sort())
    }
    sort(3, 1, 5)  //[1, 3, 5]
    
    function max(arr){
      return Math.max(...arr)
    }
    max([3, 4, 1])  // 4
    
  • 클래스 그룹 대상 변수 그룹
  • let ps = document.querySelectorAll('p');
    Array.from(ps).forEach(p=> {
      console.log(p.innerText);
    });
    [...ps].forEach(p=>{console.log(p.innerText)});
    

    함수.

  • 기본값
  • function sayHi(name='jirengu') {
      console.log(`hi, ${name}`)
    }
    sayHi()
    sayHi('ruoyu')
    
    function fetch(url, { body='', method = 'GET', headers = {} } = {}) {
      console.log(method);
    }
    
    fetch('http://example.com')
    

    다음 두 가지 쓰기 방법의 차이점은?
    //ex1
    function m1({x = 0, y = 0} = {}) {
      return [x, y];
    }
    
    //ex2 
    function m2({x, y} = { x: 0, y: 0 }) {
      return [x, y];
    }
    
    //  
    m1() // [0, 0]
    m2() // [0, 0]
    
    // x   y  
    m1({x: 3, y: 8}) // [3, 8]
    m2({x: 3, y: 8}) // [3, 8]
    
    // x  ,y  
    m1({x: 3}) // [3, 0]
    m2({x: 3}) // [3, undefined]
    
    // x   y  
    m1({}) // [0, 0];
    m2({}) // [undefined, undefined]
    
    m1({z: 3}) // [0, 0]
    m2({z: 3}) // [undefined, undefined]
    

    ex1: 호출 함수는 대상을 전달해야 합니다. 대상을 전달하지 않으면 기본값 대상{}을 사용하고 기본값 대상 안에는undefined가 있기 때문에 속성은 초기값 ex2를 사용합니다. 파라미터는 대상이 필요하고 대상을 전달하지 않으면 기본값 대상{ x: 0, y: 0 }을 사용합니다. 대상을 전달하면 전달한 대상을 사용합니다.
  • 화살표 함수
  • var f = v => v+1
    // 
    var f = function(v){return v+1}
    
    var f = () => 5;
    //  
    var f = function () { return 5 };
    
    var sum = (num1, num2) => num1 + num2;
    //  
    var sum = function(num1, num2) {
      return num1 + num2;
    };
    
    var arr = [1, 2, 3]
    var arr2 = arr.map(v=>v*v)
    arr2 //[1, 4, 9]
    
    

    화살표 함수 안의this
    // ES6
    function foo() {
      setTimeout(() => {
        console.log('id:', this.id);
      }, 100);
    }
    
    //   ES5
    function foo() {
      var _this = this;
      setTimeout(function () {
        console.log('id:', _this.id);
      }, 100);
    }
    

    대상

    var name = 'jirengu'
    var age = 3
    var people = {name, age} //{name:'jirengu', age:3}
    
    let app = {
       selector: '#app',
       init() {
       },
       bind() {
       } 
    }
    app.init()
    
    ``
    
    
    
    

    좋은 웹페이지 즐겨찾기