Help us understand the problem. What is going on with this article?

JSの組み込みオブジェクトを復習する

組み込みオブジェクト(built-in Objects)とは

JavaScriptには、組み込みで用意されているオブジェクトがある。例えばArrayオブジェクトPromiseオブジェクトnew Arraynew Promiseの形で使ったり見たりしたことが一度ではあるのではないかと思う。これらも組み込みオブジェクトの中の一つであり、先に書いたように、基本的にnew演算子を用いてインタンスを生成して使う。(クラスみたいなものだと思ってます。)

組み込みオブジェクトの抜粋

  • String ~文字列の操作をする~
  • Number ~数値の操作をする~
  • Symbol ~シンボルを作成する~
  • Math ~数学的演算をする~
  • Array ~配列を操作する~
  • Map ~連想配列を操作する~
  • Set ~集合の操作をする~
  • Date ~日付を操作する~
  • Object ~全オブジェクトの雛形~
  • Global ~jsの便利機能を提供する~
  • Promise ~非同期処理をサポートする~

参考:Standard built-in objects

組み込みオブジェクトを使ってみる

上で述べたように、組み込みオブジェクトは基本的にnew演算子を用いてインスタンスを生成して使うが、基本のデータ型に関してはnew演算子を用いると以下のような予期せぬ挙動や曖昧な挙動が発生する。

const objectFlag = new Boolean(false)
console.log(objectFlag === false) // false

const objectArray1 = new Array(1, 2)
const objectArray2 = new Array(1)
console.log(objectArray1) // [ 1, 2 ]
console.log(objectArray2) // [ <1 empty item> ]

そのため、なるべく以下のような用意されているシンタックスを使うようにする。

const flag = false
console.log(flag === false) // true

const array = [1, 2, 3] 
console.log(array) // [ 1, 2, 3 ]

Arrayオブジェクト

const ary = [1, 2, 3, 4, 5]

const aryMap = ary.map(num => num ** 2)
console.log(aryMap) // [ 1, 4, 9, 16, 25]

let aryForEach = 0
ary.forEach(num => aryForEach += num)
console.log(aryForEach) // 15

const aryEvery1 = ary.every(num => num < 5)
const aryEvery2 = ary.every(num => num < 6)
console.log(aryEvery1, aryEvery2) // false, true

const aryFilter = ary.filter(num => num % 2) //左の引数内の式は num % 2 !== 0 の意味
console.log(aryFilter) // [1, 3, 5]

Promiseオブジェクト

const testPromise = (num) => {
  return new Promise(resolve => {
    setTimeout(() => resolve(num ** 2), 1000)
  })
}
testPromise(4).then(response => console.log(response)) // 1秒後に16が表示される

まとめ

組み込みオブジェクトが多すぎて記事にしようとしたことが間違いでした。
本当は使ったことないものを全部使ってみて紹介したかったのですが、時間の都合によりメジャーなものをただ復習するだけで終わりましたてへ。
いい感じの組み込みオブジェクトのメソッドがあったら教えてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした