คำถามติดแท็ก typeof

Typeof (ทางเลือก typeof หรือ TypeOf) เป็นตัวดำเนินการที่จัดทำโดยภาษาโปรแกรมต่างๆซึ่งกำหนดประเภทข้อมูลของตัวแปรที่กำหนด สิ่งนี้มีประโยชน์เมื่อสร้างส่วนต่างๆของโปรแกรมที่ต้องรับข้อมูลหลายประเภท แต่อาจต้องดำเนินการที่แตกต่างกันขึ้นอยู่กับประเภทของข้อมูลที่ให้มา

12
กำหนดประเภทของวัตถุ?
มีวิธีง่ายๆในการพิจารณาว่าตัวแปรเป็นรายการพจนานุกรมหรืออย่างอื่นหรือไม่? ฉันได้รับวัตถุคืนซึ่งอาจเป็นประเภทใดประเภทหนึ่งและฉันต้องสามารถบอกความแตกต่างได้
1791 python  dictionary  types  typeof 

14
การตรวจสอบประเภท: typeof, GetType หรือคืออะไร
ฉันเคยเห็นหลายคนใช้รหัสต่อไปนี้: Type t = typeof(obj1); if (t == typeof(int)) // Some code here แต่ฉันรู้ว่าคุณสามารถทำได้เช่นกัน: if (obj1.GetType() == typeof(int)) // Some code here หรือสิ่งนี้: if (obj1 is int) // Some code here โดยส่วนตัวแล้วฉันรู้สึกว่าอันสุดท้ายนั้นสะอาดที่สุด แต่มีบางอย่างที่ฉันขาดหายไปหรือไม่? อันไหนดีที่สุดที่จะใช้หรือมันเป็นการตั้งค่าส่วนตัว?
1512 c#  types  typeof  gettype 

20
เพราะเหตุใดวัตถุจึงเป็นนัลและอะไรคือความแตกต่างระหว่างโมฆะและไม่ได้กำหนด?
เหตุใดจึงnullถือว่าเป็นobjectJavaScript กำลังตรวจสอบ if ( object == null ) Do something เหมือนกับ if ( !object ) Do something ? และนอกจากนี้ยังมี: ความแตกต่างระหว่างnullและundefinedคืออะไร?

24
อะไรคือความแตกต่างระหว่าง typeof และ instanceof และควรใช้กับอันอื่นเมื่อใด?
ในกรณีของฉันโดยเฉพาะ: callback instanceof Function หรือ typeof callback == "function" มันแตกต่างกันอย่างไรความแตกต่างคืออะไร? ทรัพยากรเพิ่มเติม: JavaScript สวนtypeof VS instanceof


6
รับชื่อประเภทที่ไม่มีเนมสเปซเต็ม
ฉันมีรหัสต่อไปนี้: return "[Inserted new " + typeof(T).ToString() + "]"; แต่ typeof(T).ToString() ส่งคืนชื่อเต็มรวมถึงเนมสเปซ อย่างไรก็ตามมีเพียงรับชื่อคลาส (ไม่มีตัวระบุเนมสเปซหรือไม่)
293 c#  namespaces  typeof 

11
วิธีที่ดีกว่าในการรับตัวแปรของ Javascript
มีวิธีที่ดีกว่าในการรับชนิดของตัวแปรใน JS มากกว่าtypeof? มันทำงานได้ดีเมื่อคุณ: > typeof 1 "number" > typeof "hello" "string" แต่มันไร้ประโยชน์เมื่อคุณลอง: > typeof [1,2] "object" >r = new RegExp(/./) /./ > typeof r "function" ฉันรู้instanceofแต่สิ่งนี้คุณต้องรู้ล่วงหน้า > [1,2] instanceof Array true > r instanceof RegExp true มีวิธีที่ดีกว่า?
260 javascript  types  typeof 

6
'typeid' กับ 'typeof' ใน C ++
ฉันสงสัยว่าอะไรคือความแตกต่างระหว่างtypeidและtypeofใน C ++ นี่คือสิ่งที่ฉันรู้: typeidถูกกล่าวถึงในเอกสารสำหรับ type_infoซึ่งถูกกำหนดไว้ใน C ++ ไฟล์ส่วนหัวtypeinfo typeofถูกกำหนดในส่วนขยาย GCC สำหรับ C และในไลบรารีC ++ Boost นอกจากนี้ที่นี่คือการทดสอบการทดสอบรหัสที่ฉันได้สร้างที่ฉันได้ค้นพบ typeidแล้วว่าไม่ได้คืนสิ่งที่ฉันคาดไว้ ทำไม? main.cpp #include <iostream> #include <typeinfo> //for 'typeid' to work class Person { public: // ... Person members ... virtual ~Person() {} }; class Employee : public Person { // ... Employee …
159 c++  typeof  typeid 

6
แลมบ์ดาชนิดใดเมื่ออนุมานด้วย“ auto” ใน C ++ 11
ฉันเข้าใจว่าแลมบ์ดาเป็นตัวชี้ฟังก์ชั่น เมื่อฉันทำการทดสอบต่อไปนี้ฉันพบว่ามันผิด ( สาธิต ) #define LAMBDA [] (int i) -> long { return 0; } int main () { long (*pFptr)(int) = LAMBDA; // ok auto pAuto = LAMBDA; // ok assert(typeid(pFptr) == typeid(pAuto)); // assertion fails ! } รหัสข้างต้นหายไปจุดใด? ถ้าไม่เช่นtypeofนั้นแลมบ์ดานิพจน์คืออะไรเมื่ออนุมานด้วยautoคำหลัก?
142 c++  lambda  c++11  typeof  auto 



6
รับประเภทของตัวแปรทั้งหมด
ใน R ฉันต้องการดึงรายการตัวแปรส่วนกลางที่ส่วนท้ายของสคริปต์ของฉันและทำซ้ำ นี่คือรหัสของฉัน #declare a few sample variables a<-10 b<-"Hello world" c<-data.frame() #get all global variables in script and iterate over them myGlobals<-objects() for(i in myGlobals){ print(typeof(i)) #prints 'character' } ปัญหาของฉันคือtypeof(i)ผลตอบแทนเสมอcharacterแม้ว่าตัวแปรaและcไม่ใช่ตัวแปรอักขระ ฉันจะรับตัวแปรประเภทดั้งเดิมภายใน for loop ได้อย่างไร
118 r  typeof 

4
การหาว่าตัวเลขเป็น Double ใน Java หรือไม่
ฉันเป็นมือใหม่ Java ฉันกำลังพยายามหาว่าตัวเลขเป็นสองเท่าหรือไม่โดยมีอะไรแบบนี้: if ( typeof ( items.elementAt(1) )== Double ) { sum.add( i, items.elementAt(1)); } จะขอบคุณถ้ามีคนบอกวิธีจัดเรียงไวยากรณ์ใหม่เพื่อให้ทำงานได้อย่างถูกต้อง
94 java  typeof 

16
การทดสอบว่าค่าเป็นฟังก์ชันหรือไม่
ฉันต้องการทดสอบว่าค่าของฟอร์มonsubmitเป็นฟังก์ชันหรือไม่ onsubmit="return valid();"รูปแบบที่เป็นปกติ มีวิธีที่จะบอกได้หรือไม่ว่านี่คือฟังก์ชันและสามารถเรียกใช้ได้หรือไม่? การใช้ typeof เพียงแค่ส่งกลับว่าเป็นสตริงซึ่งไม่ได้ช่วยอะไรฉันมากนัก แก้ไข : แน่นอนฉันเข้าใจว่า "return valid ();" เป็นสตริง ฉันได้replaceลงไปเป็น "valid ();" และแม้แต่ "valid ()" ฉันต้องการทราบว่าสิ่งเหล่านี้เป็นฟังก์ชันหรือไม่ แก้ไข : นี่คือรหัสบางส่วนซึ่งอาจช่วยอธิบายปัญหาของฉัน: $("a.button").parents("form").submit(function() { var submit_function = $("a.button").parents("form").attr("onsubmit"); if ( submit_function && typeof( submit_function.replace(/return /,"") ) == 'function' ) { return eval(submit_function.replace(/return /,"")); } else { alert("onSubmit is …

5
JavaScript: ตรวจสอบว่าอาร์กิวเมนต์เป็นอาร์เรย์แทนที่จะเป็นวัตถุ (Node.JS)
ฉันจะตรวจสอบได้อย่างไรว่าอาร์กิวเมนต์เป็นอาร์เรย์เนื่องจากtypeof []ส่งคืน'object'และฉันต้องการแยกความแตกต่างระหว่างอาร์เรย์และวัตถุ เป็นไปได้ว่าออบเจ็กต์จะมีลักษณะเหมือน{"0":"string","1":"string","length":"2"}อาร์เรย์ แต่ฉันไม่ต้องการให้มันออกมาเป็นอาร์เรย์หากเป็นอ็อบเจ็กต์ที่ดูเหมือนอาร์เรย์ JSON.parseและJSON.stringifyสามารถสร้างความแตกต่างนี้ได้ ฉันจะทำมันได้อย่างไร? ฉันใช้ Node.JS ซึ่งใช้ V8 เหมือนกับ Chrome

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.