番号
let age = 25;
文字列
let name = "John";
ブール値
let isStudent = true;
未定義:
let address;
ヌル
let salary = null;
記号
let sym = Symbol("id");
BigInt
let bigIntNumber = 1234567890123456789012345678901234567890n;
非数 (NaN)
NaN は「Not-a-Number」の略で、有効な数値ではない値を表します
console.log(0 / 0); // NaN console.log(parseInt("abc")); // NaN
console.log(typeof a);
1) クラスはコンストラクターを 1 つだけ持つことができます
class gfg { constructor(name, estd, rank) { this.n = name; this.e = estd; this.r = rank; } decreaserank() { this.r -= 1; } } const test = new gfg("tom", 2009, 43); test.decreaserank(); console.log(test.r); console.log(test);
class car { constructor(brand) { this.carname = brand; } present() { return 'I have a ' + this.carname; } } class Model extends car { constructor(brand, model) { super(brand); super.present(); this.model = model; } show() { return this.present() + ', it is a ' + this.model; } }
class car { constructor(brand) { this.carname = brand; } // Getter method get cnam() { return "It is " + this.carname; // Return a value } // Setter method set cnam(x) { this.carname = x; } } const mycar = new car("Ford"); console.log(mycar.cnam);
IIFE は、定義されるとすぐに実行される関数です
(function() { console.log("IIFE executed!"); })();
高階関数とは、他の関数を引数として受け取るか、結果として関数を返す関数です
function higherOrderFunction(callback) { return callback(); } function sayHello() { return "Hello!"; } console.log(higherOrderFunction(sayHello)); // "Hello!"
変数シャドウイングは、ローカル変数が外部スコープ内の変数と同じ名前を持つ場合に発生します。
ローカル変数は、独自のスコープ内の外部変数をオーバーライドするか、非表示にします。
外部変数はそのまま残り、ローカル スコープの外部からアクセスできます。
var name = "John"; function sayName() { console.log(name); var name = "Jane"; } sayName();
JavaScript で HTML 要素にアクセスするには、いくつかの方法があります。
ID で要素を選択:
document.getElementById("elementId");
クラス名で要素を選択:
document.getElementsByClassName("className");
タグ名で要素を選択:
document.getElementsByTagName("tagName");
CSS セレクター:
document.querySelector(".className"); document.querySelectorAll(".className");
function changeValue(x) { x = 10; console.log("Inside function:", x) } let num = 5; changeValue(num);
function changeProperty(obj) { obj.name = "Alice"; console.log("Inside function:", obj.name); // Output: Inside function: Alice } let person = { name: "Bob" }; changeProperty(person); console.log("Outside function:", person.name); // Output: Outside function: Alice
JavaScript エンジンを厳密モードに切り替えます。これにより、一般的なコーディングミスが検出され、より多くの例外がスローされます。
"use strict"; x = 10; // Throws an error because x is not declared
配列や文字列などの反復可能オブジェクトを、0 個以上の引数や要素が予期される場所で展開できるようにします
function sum(a, b, c) { return a + b + c; } const numbers = [1, 2, 3]; console.log(sum(...numbers)); // Output: 6
演算子は、オブジェクトが特定のクラスまたはコンストラクター関数のインスタンスであるかどうかを確認します。
class Animal { constructor(name) { this.name = name; } } class Dog extends Animal { constructor(name, breed) { super(name); this.breed = breed; } } const myDog = new Dog('Buddy', 'Golden Retriever'); console.log(myDog instanceof Dog); // true console.log(myDog instanceof Animal); // true console.log(myDog instanceof Object); // true console.log(myDog instanceof Array); // false
このメソッドは、提供された関数によって実装されたテストに合格したすべての要素を含む新しい配列を作成します。
const numbers = [1, 2, 3, 4, 5, 6]; const evenNumbers = numbers.filter(num => num % 2 === 0); console.log(evenNumbers); // [2, 4, 6]
このメソッドは、配列の各要素に対してリデューサー関数を実行し、単一の出力値を生成します。
const numbers = [1, 2, 3, 4, 5]; const sum = numbers.reduce((sum, value) => sum + value, 0); // sum = 0 initially console.log(sum); // 15
このパラメーター構文を使用すると、関数は無限の数の引数を配列として受け入れることができます。
function sum(...numbers) { return numbers.reduce((sum, value) => sum + value, 0); } console.log(sum(1, 2, 3)); // 6 console.log(sum(5, 10, 15, 20)); // 50
暗黙的なグローバル変数
暗黙的なグローバル変数は、var、let、const などのキーワードで明示的に宣言されずに値が割り当てられると、グローバル スコープ内で自動的に作成される変数です。ただし、Strict モード
の場合、エラーがスローされます。
function myFunction() { x = 10; // no error }
定数
再代入できない定数変数を宣言しています。
const PI = 3.14;
させて
ブロックスコープの変数を宣言します。
同じ名前で再初期化することはできません
let c=1; let c=3;// throws error let count = 0; if (true) { let count = 1; console.log(count); // Output: 1 } console.log(count); // Output: 0
var
関数スコープまたはグローバルスコープの変数を宣言します。吊り上げと再割り当てを奨励します。
var name = 'John'; if (true) { var name = 'Doe'; console.log(name); // Output: Doe } console.log(name); // Output: Doe console.log(a) var a=2 // prints undefined
合成イベント: React は、ネイティブ ブラウザ イベントの周囲に SyntheticEvent ラッパーを提供します。このラッパーは、さまざまなブラウザー間でイベントのプロパティと動作を正規化し、ブラウザーに関係なくイベント処理コードが同じように動作するようにします。
import React from 'react'; class MyComponent extends React.Component { handleClick = (event) => { // `event` is a SyntheticEvent console.log(event.type); // Always 'click' regardless of browser console.log(event.target); // Consistent target property } render() { return <button onClick={this.handleClick}>Click Me</button>; } }
ホイスティングは、コンパイル段階で変数と関数の宣言が含まれるスコープの先頭に移動され、コード内で宣言される前に使用できるようにする JavaScript メカニズムです。ただし、宣言のみがホイストされ、初期化はホイストされません。
console.log(x); // Output: undefined var x = 5; console.log(x); // Output: 5 // Function hoisting hoistedFunction(); // Output: "Hoisted!" function hoistedFunction() { console.log("Hoisted!"); } // Function expressions are not hoisted notHoisted(); // Error: notHoisted is not a function var notHoisted = function() { console.log("Not hoisted"); };
これは、あるデータ型から別のデータ型への値の自動変換です。強制には、暗黙的強制と明示的強制の 2 種類があります。
例
let result = 5 + "10"; // "510" let result = "5" * 2; // 10 let result = "5" - 2; // 3 let result = "5" / 2; // 2.5
これは、組み込み関数を使用して値をある型から別の型に手動で変換するときに発生します。
let num = 5; let str = String(num); // "5" let str2 = num.toString(); // "5" let str3 = `${num}`; // "5"
Non-zero numbers (positive and negative)
Non-empty strings
Objects (including arrays and functions)
Symbol
BigInt values (other than 0n)
0 (zero)
-0 (negative zero)
0n (BigInt zero)
"" (empty string)
null
undefined
NaN (Not-a-Number)
To pass data from a parent component to a child component. It is immutable (read-only) within the child component.
// Parent Component function Parent() { const data = "Hello from Parent!"; return <Child message={data} />; } // Child Component function Child(props) { return <div>{props.message}</div>; }
To manage data that can change over time within a component. It is mutable within the component.
// Function Component using useState import { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> </div> ); }
A closure in JavaScript is a feature where an inner function has access to the outer (enclosing) function's variables and scope chain even after the outer function has finished executing.
function outerFunction(outerVariable) { return function innerFunction(innerVariable) { console.log('Outer Variable:', outerVariable); console.log('Inner Variable:', innerVariable); }; } const newFunction = outerFunction('outside'); newFunction('inside');
Currying is a technique of transforming a function that takes multiple arguments into a sequence of functions that each take a single argument.
function add(a) { return function(b) { return a + b; }; } const add5 = add(5); console.log(add5(3)); // Output: 8 console.log(add(2)(3)); // Output: 5
Generators are special functions that can be paused and resumed, allowing you to generate a sequence of values over time.
function* generateSequence() { yield 1; yield 2; yield 3; } const generator = generateSequence(); console.log(generator.next()); // { value: 1, done: false } console.log(generator.next()); // { value: 2, done: false } console.log(generator.next()); // { value: 3, done: false } console.log(generator.next()); // { value: undefined, done: true }
Stay Connected!
If you enjoyed this post, don’t forget to follow me on social media for more updates and insights:
Twitter: madhavganesan
Instagram: madhavganesan
LinkedIn: madhavganesan
以上がJavaScript コードのスニペットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。