JSインタビュー変数のタイプと計算
質問の紹介
1. typeofはどのタイプを判断できますか?
2. ==をいつ使用するか===をいつ使用するか
3.値タイプと参照タイプの違い
4.手書きのディープコピー
1. JSの基本
1.値タイプと参照タイプ
値タイプ
参照タイプ
スタック分析:(スタックは上から下、ヒープは下から上)
値タイプ:
ヒープタイプ:
要約:
一般的な値タイプは次のとおりです:数値未定義の文字列ブール記号(ES6)
一般的な参照タイプは次のとおりです:オブジェクト配列の特別な参照タイプ:null関数()関数
2. typeof演算子
すべての値タイプの
判断により、関数が参照タイプを認識できるかどうかを判別できます
(識別し続けることができません)
3.ディープコピー(強調)
第二に、変数の計算と型変換
1.紐縫い
const a = 100 + 10 // 110 可以使用100 + parseInt(‘10’)
const b = 100 + '10' // 10010
const c = true + '10' // true10
const d = 100 + parseInt('10') // 110
2. ==および===
100 == ‘100’ // true
0 == ‘’ // true
0 == false // true
false == ‘’ // true
null == undeined // true
// 除了 == null 之外,其他都一律用 ===
const obj = { x: 100 }
if (obj.a == null ) {}
// 相当于
// if (obj.a === null || obj.a === undefined) {}
3. ifステートメントと論理計算
本当に変数:!! a === true変数(2つの非操作の後でtrue)
誤って変数:!! a === false変数(2つの非操作の後はfalse)
// 一下是falsely变量,除此之外都是truly变量
!! 0 === false
!! NaN === false
!! ‘’ === false
!! null === false
!! undefined === false
!! false === false
3.質問の回答と要約
1. typeofはどのタイプを判別できる
1.すべての値のタイプを
特定する2.関数を特定する
3.それが参照タイプであるかどうかを判断する(細分割されていない)
2. ==を使用する場合と===を使用する場合
覚えておいてください:== nullを除いて、===を使用してください
3.値タイプと参照タイプの違いは何ですか?
値タイプはディープコピーで、参照タイプはシャローコピーです。次のコードの出力は、
4.手書きのディープコピー
論理的な順序:
1.値の型と参照の型の
判断に注意してください2.配列かオブジェクトかを判断するのに注意して
ください3.再帰を使用してください
4.まとめ
1.値タイプと参照タイプ
2.スタックモデル
3.ディープコピー
4. typeof演算子
5.タイプ変換
6.真と偽の変数