ウェブエンジニア問題集

JavaScript基礎・実践 問題集

JavaScriptの基本文法、ES6+、非同期処理、DOM操作に関する問題です。

56 ・ 27 タグ

JavaScript入門 — 非同期処理からDOMまで

まずは教科書でインプット(全23章)

JavaScript基礎・実践 ランダムクイズ

問題数を選んでランダムに出題

JavaScript基礎・実践の問題一覧

すべてarrow-functionasyncasync-awaitasynchronousclosureES ModulesES2025+ES5ES6ESLintevent-loopfulfilledjavascriptlexical-environmentlexical-scopemicrotaskobject-methodpendingpromisescopethisVitestWeb APIsエラー便利単体テスト基礎

該当件数56

1

再代入が不可能な変数を宣言するキーワードは?

#基礎#javascript
2

厳密等価演算子(===)と等価演算子(==)の違いは?

3

JavaScriptのプリミティブ型に含まれないものは?

4

アロー関数の特徴として正しいのは?

5

テンプレートリテラルの正しい構文は?

6

JavaScriptの分割代入(Destructuring Assignment)が特に便利なケースとして、最も適切なものはどれか?

#javascript#ES6
7

JavaScriptのスプレッド構文(...)の主な用途として、最も適切なものはどれか?

#javascript#ES6
8

次のJavaScriptコードの実行順序として正しいものはどれか? async function fetchData() { console.log('A'); const result = await Promise.resolve('B'); console.log(result); } console.log('C'); fetchData(); console.log('D');

#async-await#promise#event-loop#microtask
9

JavaScriptのPromiseが持つ3つの状態(state)の正しい組み合わせはどれか?

#javascript#promise#async#pending#fulfilled#ES6
10

Array.prototype.map()の動作として正しいのは?

11

filter()の用途として正しいのは? (MDN Web Docsなどのドキュメントでは Array.prototype.filter() と表記されていますが、基本的に実際のコードでは配列に対して .filter() と書きます)

#javascript#ES5
12

Array.prototype.reduce()の主な目的として、最も適切なものはどれか?

#javascript
13

Null合体演算子(??)の動作は?

14

オプショナルチェイニング(?.)の利点は?

#便利
15

letやconstで宣言された変数のスコープは?

16

JavaScriptにおける「巻き上げ(Hoisting)」とは?

17

JavaScriptのクロージャ(Closure)について、次のコードの出力結果として正しいものはどれか? function counter() { let count = 0; return function() { count++; return count; }; } const increment = counter(); console.log(increment()); console.log(increment());

#closure#scope#lexical-environment
18

DOM要素をCSSセレクタ形式で取得するメソッドは?

19

要素にイベントハンドラを登録する推奨される方法は?

20

イベントバブリング(Event Bubbling)の説明として正しいのは?

21

次のJavaScriptコードで、obj.greet() を実行した場合の出力はどれか? const obj = { name: 'Alice', greet: () => { console.log(`Hello, ${this.name}`); } };

#this#arrow-function#lexical-scope#object-method
22

Web APIから受け取った「JSON形式の文字列データ」を、JavaScriptのプログラム内で扱いやすい「オブジェクト(または配列)」に変換するために使用するメソッドはどれですか?

23

JavaScriptの標準モジュールシステムである「ES Modules (ESM)」の説明として、最も適切なものはどれですか?

#ES Modules
24

ブラウザを閉じてもデータを保持し続けるストレージ機能は?

25

fetch()の戻り値は何?

#async-await#promise#Web APIs
26

JavaScriptのクラスでコンストラクタを定義するメソッド名は?

27

関数の引数で「残りの引数すべて」を配列として受け取る構文は?

28

オブジェクトのプロパティ名と変数名が同じ場合に省略できる記法は?

29

エラーの有無に関わらず、最後に必ず実行したい処理を書くブロックは?

30

JavaScriptで「偽値(falsy)」と判定されないものは?

31

重複した値を持たないコレクションを作成するオブジェクトは?

32

JavaScriptで、オブジェクトのインスタンスをキーとして値を紐付け、そのオブジェクトが同一参照であれば値を取得できるデータ構造はどれか。

#便利#javascript
33

一定時間後に一度だけ処理を実行する関数は?

34

JavaScriptでエラーを厳格にチェックするモードを有効にする文字列は?

35

JavaScriptで新しいHTML要素をメモリ上に作成するメソッドは?

36

他の関数に引数として渡される関数の呼称は?

37

要素がビューポートに入ったことを検知するために使用するAPIは?

38

値の型を文字列で返す演算子は?

39

スクロールやリサイズなどの頻繁なイベント実行を制限する手法は?

40

ESLintで no-unused-vars エラーが発生した場合の対処法として、最も適切なものはどれですか?

#ESLint
41

ESLintで import/no-unresolved エラーが出る原因として、最も一般的なものはどれですか?

#エラー#ESLint
42

Array.from() の説明として、最も適切なものはどれですか?

#ES2025+
43

次のコードの出力として正しいものはどれですか? const result = Array.from("ABC", (char) => char.toLowerCase()); console.log(result);

#ES2025+
44

以下の JavaScript コードの実行結果として正しいものはどれですか? const url = new URL('/api/users', 'https://example.com:8080'); url.searchParams.set('role', 'admin'); url.searchParams.set('active', 'true'); console.log(url.href);

#エラー#javascript
45

次のコードを実行したとき、コンソールに出力される順序として正しいものはどれですか? <pre><code>console.log('A'); Promise.resolve().then(() => console.log('B')); console.log('C');</code></pre>

#javascript#promise#event-loop#microtask#asynchronous
46

Vitestで次のテストコードを実行したとき、結果はどうなりますか? import { test, expect } from 'vitest' test('object equality', () => { const user = { name: 'Alice', age: 20 } expect(user).toBe({ name: 'Alice', age: 20 }) })

#javascript#Vitest#単体テスト
47

次のテストコードを実行すると、utils.ts の greet 関数が 'mocked!' を返すことを期待していますが、実際には元の実装が呼ばれてしまいます。原因として最も適切なものはどれですか? import { greet } from './utils' import { vi, test, expect } from 'vitest' const mockValue = 'mocked!' vi.mock('./utils', () => ({ greet: () => mockValue, })) test('greet', () => { expect(greet()).toBe('mocked!') })

#Vitest
48

Vitest が Jest と比較して「TypeScript や ESM(ES Modules)のプロジェクトで追加設定なしに動きやすい」と言われる最大の理由はどれですか?

#エラー#便利#基礎#Vitest
49

次のテストコードを実行すると何が起こりますか? import { vi, test, expect } from 'vitest' import { getUser } from './user' const mockName = 'Alice' vi.mock('./user', () => ({ getUser: () => ({ name: mockName }) })) test('ユーザー名を返す', () => { expect(getUser().name).toBe('Alice') })

#エラー#javascript#Vitest
50

次のVitestのテストで、モック関数logが 'start' → 'processing' → 'done' の順で3回呼ばれた後に expect(log).toHaveBeenCalledWith('start') を実行した場合、アサーションの結果はどうなりますか?

#javascript#Vitest
51

Jestのモック関数に対してmockRejectedValueを設定したとき、そのモックを呼び出すと何が返りますか? const fn = jest.fn(); fn.mockRejectedValue(new Error('失敗')); const result = fn();

#エラー#javascript#async#単体テスト
52

cookieとlocalStorageの違いとして正しいものはどれか。

#基礎
53

JavaScriptで 0 == "" を評価した結果として正しいものはどれか。

#ESLint
54

アーリーリターンのメリットとして当てはまらないものは?

#便利#基礎
55

「副作用がある関数」とは、何をしている関数のこと?

56

&& と || の短絡評価。「左がfalseなら右を見ない」のはどっち?

#基礎

JavaScript基礎・実践とは

JavaScriptはWeb開発において不可欠なプログラミング言語です。ブラウザ上で動的なインタラクションを実現するクライアントサイドから、Node.jsを利用したサーバーサイド開発まで、幅広い領域で使用されています。ES6以降の仕様で大幅に改善され、アロー関数、分割代入、Promise/async-await、モジュールシステムなどのモダンな文法が標準となりました。

なぜJavaScript基礎・実践を学ぶべきか

JavaScriptはフロントエンドで唯一のプログラミング言語であり、React、Vue.js、Angularなど主要なフレームワークの基盤です。さらにNode.jsによりサーバーサイド開発も可能で、フルスタック開発を1つの言語で実現できます。npmエコシステムの豊富さも大きな強みです。

出題トピック

ES6+モダン構文

const/let、アロー関数、テンプレートリテラル、分割代入、スプレッド構文、オプショナルチェイニングなどのモダンな構文を扱います。

非同期処理

コールバック、Promise、async/await、イベントループの仕組みなど、JavaScriptの非同期処理パターンを出題します。

DOM操作とイベント

DOM APIを使った要素の取得・操作、イベントリスナー、イベントバブリング/キャプチャなどを扱います。

クロージャとスコープ

レキシカルスコープ、クロージャ、this の挙動、変数のホイスティングなど、JavaScript特有の概念を問います。

こんな方におすすめ

  • プログラミングを学び始めた初学者
  • ES6以降のモダンな構文に慣れたい方
  • フロントエンド・フルスタック開発を目指す方
  • JavaScript面接対策をしたいエンジニア

JavaScript基礎・実践に関するよくある質問

JavaScriptとTypeScriptはどちらを学ぶべきですか?
まずJavaScriptの基礎をしっかり理解することをおすすめします。TypeScriptはJavaScriptの上位互換であるため、JavaScript の理解があればスムーズに移行できます。実務では TypeScript が主流になりつつあるため、基礎を固めた後にTypeScriptも学びましょう。
ES6とは何ですか?
ES6(ECMAScript 2015)はJavaScriptの仕様の大幅なアップデートで、アロー関数、クラス構文、Promise、テンプレートリテラル、モジュールシステムなどが導入されました。現在のモダンJavaScript開発の基盤となっています。
JavaScriptの学習順序はどうすればよいですか?
変数・型→制御構文→関数→配列・オブジェクト→DOM操作→非同期処理(Promise/async-await)→ES6+構文の順で学習するのが効率的です。基礎を固めてからReactやNode.jsなどのフレームワークに進みましょう。

関連する問題集