웹 프론트엔드 JS 튜토리얼 es6의 다양한 데이터 유형의 확장된 예에 대한 자세한 설명

es6의 다양한 데이터 유형의 확장된 예에 대한 자세한 설명

Jun 26, 2017 am 10:24 AM
확장하다 데이터 유형

1. 문자열 확장

  1. for...of

  2. includes, startWith, endWith로 탐색할 수 있는 문자열에 Iterator를 추가하면 모두 부울 값을 반환하고 두 번째 매개변수(검색 시작 위치)를 지원합니다. ), endWith는 처음 n자에 대한 것이고, 나머지 두 개는 n번째부터 끝까지입니다.

  3. repeat는 새 문자열을 반환하고, 매개변수는 반복 횟수입니다(소수점은 내림, 음수 또는 Infnity는 보고합니다). 오류, 0 ~ -1은 0과 동일하며 문자열은 숫자로 변환됩니다.)

  4. padStart, padEnd는 머리 또는 꼬리에서 완료됩니다. 첫 번째 매개변수는 문자열의 최소 길이이고 두 번째 매개변수는 매개변수는 문자열

  5. 템플릿 문자열 `${...}`

2. 숫자 값의 확장

  1. Number.isFinite는 값이 유한한지 확인하고 값이 유한하지 않은 경우 false를 반환합니다. -숫자 값 ​​

  2. Number.isNaN은 값이 NaN인지 확인합니다. NaN만 true를 반환합니다.
    전통적인 메서드 isFinite isNaN은 먼저 숫자가 아닌 값을 숫자 값으로 변환하기 위해 Number()를 호출합니다

  3. Number.parseInt(), Number.parseFloat() 기존 방법과 마찬가지로 전역 메서드 및 언어 모듈화

  4. Number.isInteger()가 정수인지

  5. Number인지 확인하는 것이 목적입니다. EPSILON은 매우 작은 상수입니다. 부동 소수점 계산의 오류는 이 값보다 작습니다. ok

  6. JS의 정확한 정수 범위: -2^53~2^53(양 끝 제외),
    Number.MAX_SAFE_INTEGER = Math. pow(2, 53) - 1;
    Number.MIN_SAFE_INTEGER = -Number.MAX_SAFE_INTEGER;
    Number.isSafeInteger()는 정수가 이 범위에 속하는지 확인하는 데 사용됩니다.

  7. Math.trunc()는 소수 부분을 제거합니다.
    Math.sign()은 음의 정수인지 0인지 결정합니다.
    Math.cbrt()는 숫자의 세제곱근을 계산합니다. 또한 일부 로그 메서드와 삼각 함수 메서드도 있습니다. 2 ** 3 === 8, 특히 대규모 연산의 경우 연산 결과의 마지막 숫자가 다릅니다.

Array.from 배열형 객체와 탐색 가능한 객체를 배열로 변환하고 확장 연산자는 특정 객체를 배열로 변환할 수도 있습니다.

map 메소드와 유사하게 두 번째 매개변수를 허용하고 처리된 값을 배열로 반환할 수 있습니다. .of는 값 집합을 배열로 변환합니다.

  1. copyWithin은 지정된 위치의 멤버를 다른 위치로 복사합니다.
    Array.prototype.copyWithin(target, start = 0, end = this.length)

  2. find는 첫 번째 정규 멤버를 찾습니다. 매개변수는 콜백 함수입니다.

    findIndex는 첫 번째 정규 배열 멤버를 반환합니다.

  3. fill의 위치는 두 번째 및 세 번째 매개변수로 시작 및 세 번째 매개변수를 지정할 수 있습니다. 끝 위치;

  4. 키, 값, 항목

  5. 포함, indexOf는 의미가 충분하지 않으며 내부적으로 사용됩니다. = == 판단,

    [NaN].indexOf(NaN) // -1 , [NaN] .includes(NaN) // true

    Map의 has는 키 이름을 찾는 데 사용되며 Set의 has는 값을 찾는 데 사용됩니다.
  6. 배열의 빈 위치에는 값이 없습니다. [,,]에 0이 있습니다. // false, es6 빈 위치는 정의되지 않은 것으로 변환되며 빈 위치는 피해야 합니다

  7. 4.

  8. 함수의 확장이 허용됩니다. 이 함수는 꼬리가 아닌 매개 변수가 기본값을 설정하는 경우입니다. 값은 실제로 이 매개변수를 생략할 수 없습니다.

    기본값이 설정된 후 함수의 length 속성은 지정된 기본값 없이 값을 반환합니다. 설정된 기본값이 마지막 매개변수가 아닌 경우 length 속성은 더 이상 후속 매개변수에 포함되지 않습니다.

매개변수의 기본값이 설정되면 함수가 진행됩니다. 초기화를 선언하면 매개변수가 별도의 범위(컨텍스트)를 형성합니다. 초기화가 완료되면 이 범위는 사라집니다. 이 구문 동작은 매개변수 기본값이 설정되지 않은 경우 나타나지 않습니다.

  1. Rest 매개변수(...변수 이름)
    length属性,将返回没有指定默认值的参数个数;
    如果设置了默认值的参数不是尾参数,那么length属性也不再计入后面的参数了;

  2. 一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context)。等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的。

  3. Rest参数(...变量名)

  4. 扩展运算符(...),将一个数组转为用逗号分隔的参数序列。

    /* 替代数组的apply方法 */// ES5的写法function f(x, y, z) {  // ...}var args = [0, 1, 2];
    f.apply(null, args);// ES6的写法function f(x, y, z) {  // ...}var args = [0, 1, 2];
    f(...args);/* --------------------------------- */// ES5的写法Math.max.apply(null, [14, 3, 77])// ES6的写法Math.max(...[14, 3, 77])// 等同于Math.max(14, 3, 77);/* --------------------------------- */// ES5的写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];
    Array.prototype.push.apply(arr1, arr2);// ES6的写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];
    arr1.push(...arr2);
    로그인 후 복사
  5. 箭头函数使用注意:

    (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

    (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

    (3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

    (4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

 

五. 对象的扩展

  1. 属性简写表示法

  2. 属性名表达式,[变量名]

  3. 方法的name属性返回函数名(即方法名)

  4. Object.is,与===基本一致,不同在于一是+0不等于-0,二是NaN

    스프레드 연산자(...)는 배열을 쉼표로 구분된 매개변수 시퀀스로 변환합니다.
    🎜
    // es5实现Object.isObject.defineProperty(Object, 'is', {
      value: function(x, y) {if (x === y) {      // 针对+0 不等于 -0的情况  return x !== 0 || 1 / x === 1 / y;
        }// 针对NaN的情况return x !== x && y !== y;
      },
      configurable: true,
      enumerable: false,
      writable: true});
    로그인 후 복사
    🎜🎜🎜🎜화살표 함수 사용 시 참고 사항: 🎜🎜(1) 함수 본문의 this 개체는 사용되는 개체가 아니라 정의된 개체입니다. 🎜🎜(2)는 생성자로 사용할 수 없습니다. 즉, new 명령을 사용할 수 없습니다. 그렇지 않으면 오류가 발생합니다. 🎜🎜(3) arguments 개체는 함수 본문에 존재하지 않으므로 사용할 수 없습니다. 이를 사용하려면 대신 나머지 매개변수를 사용할 수 있습니다. 🎜🎜(4) yield 명령을 사용할 수 없으므로 화살표 함수를 생성기 함수로 사용할 수 없습니다. 🎜🎜🎜🎜 🎜🎜 5. 객체 확장 🎜🎜🎜🎜 속성 약어 🎜🎜🎜🎜속성 이름 표현, [변수 이름] 🎜🎜🎜🎜메서드의 name 속성은 함수 이름( 즉, 메소드 이름) 🎜🎜🎜🎜Object.is, 기본적으로 ===와 동일합니다. 차이점은 먼저 +0-0과 같지 않다는 것입니다. , 둘째, NaN은 그 자체와 같습니다🎜🎜🎜rrreee🎜
  5. Object.sign(target, o1, o2)은 객체를 병합하는 데 사용됩니다. 동일한 이름을 가진 속성이 있으면 나중에 이전 속성을 덮어쓰게 됩니다.
    정의되지 않고 null은 객체로 변환될 수 없기 때문입니다. , 매개변수로 사용되면 오류가 보고됩니다. Object.getOwnPropertyDescriptor 메소드는 속성의 설명 개체를 얻을 수 있습니다.

  6. 속성 순회:

    for...in, Object.keys, Object.getOwnPropertyNames(obj), Object.getOwnPropertySymbols(obj), Reflect.ownKeys(obj)

  7. __proto__ 및 Object.setPrototypeOf( ) 객체의 프로토타입 객체를 설정하는 데 사용되는 동일한 함수가 있습니다. Object.getPrototypeOf()

  8. Object.keys(), Object.values(), Object.entries()

  9. Object.getOwnPropertyDescriptors는 모두를 반환합니다. 지정된 객체의 속성 자체 속성의 설명 객체(상속되지 않은 속성)

위 내용은 es6의 다양한 데이터 유형의 확장된 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

ddrescue를 사용하여 Linux에서 데이터 복구 ddrescue를 사용하여 Linux에서 데이터 복구 Mar 20, 2024 pm 01:37 PM

DDREASE는 하드 드라이브, SSD, RAM 디스크, CD, DVD 및 USB 저장 장치와 같은 파일 또는 블록 장치에서 데이터를 복구하기 위한 도구입니다. 한 블록 장치에서 다른 블록 장치로 데이터를 복사하여 손상된 데이터 블록은 남겨두고 양호한 데이터 블록만 이동합니다. ddreasue는 복구 작업 중에 간섭이 필요하지 않으므로 완전히 자동화된 강력한 복구 도구입니다. 게다가 ddasue 맵 파일 덕분에 언제든지 중지하고 다시 시작할 수 있습니다. DDREASE의 다른 주요 기능은 다음과 같습니다. 복구된 데이터를 덮어쓰지 않지만 반복 복구 시 공백을 채웁니다. 그러나 도구에 명시적으로 지시된 경우에는 잘릴 수 있습니다. 여러 파일이나 블록의 데이터를 단일 파일로 복구

오픈 소스! ZoeDepth를 넘어! DepthFM: 빠르고 정확한 단안 깊이 추정! 오픈 소스! ZoeDepth를 넘어! DepthFM: 빠르고 정확한 단안 깊이 추정! Apr 03, 2024 pm 12:04 PM

0. 이 글은 어떤 내용을 담고 있나요? 우리는 다재다능하고 빠른 최첨단 생성 단안 깊이 추정 모델인 DepthFM을 제안합니다. DepthFM은 전통적인 깊이 추정 작업 외에도 깊이 인페인팅과 같은 다운스트림 작업에서 최첨단 기능을 보여줍니다. DepthFM은 효율적이며 몇 가지 추론 단계 내에서 깊이 맵을 합성할 수 있습니다. 이 작품을 함께 읽어보아요~ 1. 논문 정보 제목: DepthFM: FastMoncularDepthEstimationwithFlowMatching 저자: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Apr 01, 2024 pm 07:46 PM

Google이 추진하는 JAX의 성능은 최근 벤치마크 테스트에서 Pytorch와 TensorFlow를 능가하여 7개 지표에서 1위를 차지했습니다. 그리고 JAX 성능이 가장 좋은 TPU에서는 테스트가 이루어지지 않았습니다. 개발자들 사이에서는 여전히 Tensorflow보다 Pytorch가 더 인기가 있습니다. 그러나 앞으로는 더 큰 모델이 JAX 플랫폼을 기반으로 훈련되고 실행될 것입니다. 모델 최근 Keras 팀은 기본 PyTorch 구현을 사용하여 세 가지 백엔드(TensorFlow, JAX, PyTorch)와 TensorFlow를 사용하는 Keras2를 벤치마킹했습니다. 첫째, 그들은 주류 세트를 선택합니다.

iPhone의 느린 셀룰러 데이터 인터넷 속도: 수정 사항 iPhone의 느린 셀룰러 데이터 인터넷 속도: 수정 사항 May 03, 2024 pm 09:01 PM

지연이 발생하고 iPhone의 모바일 데이터 연결 속도가 느립니까? 일반적으로 휴대폰의 셀룰러 인터넷 강도는 지역, 셀룰러 네트워크 유형, 로밍 유형 등과 같은 여러 요소에 따라 달라집니다. 더 빠르고 안정적인 셀룰러 인터넷 연결을 얻기 위해 할 수 있는 일이 몇 가지 있습니다. 수정 1 – iPhone 강제 다시 시작 때로는 장치를 강제로 다시 시작하면 셀룰러 연결을 포함한 많은 항목이 재설정됩니다. 1단계 – 볼륨 높이기 키를 한 번 눌렀다가 놓습니다. 그런 다음 볼륨 작게 키를 눌렀다가 다시 놓습니다. 2단계 - 프로세스의 다음 부분은 오른쪽에 있는 버튼을 누르는 것입니다. iPhone이 다시 시작되도록 하세요. 셀룰러 데이터를 활성화하고 네트워크 속도를 확인하세요. 다시 확인하세요 수정 2 – 데이터 모드 변경 5G는 더 나은 네트워크 속도를 제공하지만 신호가 약할 때 더 잘 작동합니다

초지능의 생명력이 깨어난다! 하지만 자동 업데이트 AI가 등장하면서 엄마들은 더 이상 데이터 병목 현상을 걱정할 필요가 없습니다. 초지능의 생명력이 깨어난다! 하지만 자동 업데이트 AI가 등장하면서 엄마들은 더 이상 데이터 병목 현상을 걱정할 필요가 없습니다. Apr 29, 2024 pm 06:55 PM

세상은 미친 듯이 큰 모델을 만들고 있습니다. 인터넷의 데이터만으로는 충분하지 않습니다. 훈련 모델은 '헝거게임'처럼 생겼고, 전 세계 AI 연구자들은 이러한 데이터를 탐식하는 사람들에게 어떻게 먹이를 줄지 고민하고 있습니다. 이 문제는 다중 모드 작업에서 특히 두드러집니다. 아무것도 할 수 없던 시기에, 중국 인민대학교 학과의 스타트업 팀은 자체 새로운 모델을 사용하여 중국 최초로 '모델 생성 데이터 피드 자체'를 현실화했습니다. 또한 이해 측면과 생성 측면의 두 가지 접근 방식으로 양측 모두 고품질의 다중 모드 새로운 데이터를 생성하고 모델 자체에 데이터 피드백을 제공할 수 있습니다. 모델이란 무엇입니까? Awaker 1.0은 중관촌 포럼에 최근 등장한 대형 멀티모달 모델입니다. 팀은 누구입니까? 소폰 엔진. 런민대학교 힐하우스 인공지능대학원 박사과정 학생인 Gao Yizhao가 설립했습니다.

PHP 함수용 확장 및 타사 모듈 PHP 함수용 확장 및 타사 모듈 Apr 13, 2024 pm 02:12 PM

PHP 함수 기능을 확장하려면 확장 기능과 타사 모듈을 사용할 수 있습니다. 확장은 pecl 패키지 관리자를 통해 설치하고 활성화할 수 있는 추가 기능과 클래스를 제공합니다. 타사 모듈은 특정 기능을 제공하며 Composer 패키지 관리자를 통해 설치할 수 있습니다. 실제 예로는 확장 기능을 사용하여 복잡한 JSON 데이터를 구문 분석하고 모듈을 사용하여 데이터 유효성을 검사하는 것이 포함됩니다.

공장에서 일하는 테슬라 로봇, 머스크 : 올해 손의 자유도가 22도에 달할 것! 공장에서 일하는 테슬라 로봇, 머스크 : 올해 손의 자유도가 22도에 달할 것! May 06, 2024 pm 04:13 PM

테슬라의 로봇 옵티머스(Optimus)의 최신 영상이 공개됐는데, 이미 공장에서 작동이 가능한 상태다. 정상 속도에서는 배터리(테슬라의 4680 배터리)를 다음과 같이 분류합니다. 공식은 또한 20배 속도로 보이는 모습을 공개했습니다. 작은 "워크스테이션"에서 따고 따고 따고 : 이번에 출시됩니다. 영상에는 옵티머스가 공장에서 이 작업을 전 과정에 걸쳐 사람의 개입 없이 완전히 자율적으로 완료하는 모습이 담겨 있습니다. 그리고 Optimus의 관점에서 보면 자동 오류 수정에 중점을 두고 구부러진 배터리를 집어 넣을 수도 있습니다. NVIDIA 과학자 Jim Fan은 Optimus의 손에 대해 높은 평가를 했습니다. Optimus의 손은 세계의 다섯 손가락 로봇 중 하나입니다. 가장 능숙합니다. 손은 촉각적일 뿐만 아니라

다섯 개의 유연한 손가락과 초인적인 속도를 갖춘 인간 작업을 자율적으로 완료하는 최초의 로봇 등장, 가상 공간 훈련을 지원하는 대형 모델 다섯 개의 유연한 손가락과 초인적인 속도를 갖춘 인간 작업을 자율적으로 완료하는 최초의 로봇 등장, 가상 공간 훈련을 지원하는 대형 모델 Mar 11, 2024 pm 12:10 PM

이번 주, 오픈AI(OpenAI), 마이크로소프트(Microsoft), 베조스(Bezos), 엔비디아(Nvidia)가 투자한 로봇 회사인 FigureAI는 약 7억 달러의 자금 조달을 받았으며 내년 내에 독립적으로 걸을 수 있는 휴머노이드 로봇을 개발할 계획이라고 발표했습니다. 그리고 Tesla의 Optimus Prime은 계속해서 좋은 소식을 받았습니다. 올해가 휴머노이드 로봇이 폭발하는 해가 될 것이라는 데는 누구도 의심하지 않는다. 캐나다에 본사를 둔 로봇 회사인 SanctuaryAI는 최근 새로운 휴머노이드 로봇인 Phoenix를 출시했습니다. 관계자들은 이 로봇이 인간과 같은 속도로 자율적으로 많은 작업을 완료할 수 있다고 주장한다. 인간의 속도로 자동으로 작업을 완료할 수 있는 세계 최초의 로봇인 Pheonix는 각 물체를 부드럽게 잡고 움직이며 우아하게 왼쪽과 오른쪽에 배치할 수 있습니다. 자동으로 물체를 식별할 수 있습니다.

See all articles